洛谷p1320c语言
时间: 2023-12-02 20:39:27 浏览: 97
洛谷P1320是一道C语言编程题目,题目要求实现压缩技术,将一个由0和1组成的01矩阵进行压缩,输出每行的元素个数和每行连续的0或1的个数。题目提供了两种不同的解法,分别是法一和法二。法一使用了字符串的操作,将输入的多行字符连接成一个新的字符串,然后遍历该字符串,统计每行连续的0或1的个数。法二则使用了二维数组,先将每行的字符存储到二维数组中,然后遍历该数组,统计每行连续的0或1的个数。这道题目考察了C语言的字符串操作和二维数组的使用。
相关问题
洛谷P5728C语言
洛谷P5728是一道C语言题目,要求实现一个成绩统计程序。程序需要输入同学的语文、数学、英语成绩,然后统计出有多少组同学满足以下条件:三科成绩之间的差值都不超过5分,总分之差不超过10分。这道题目可以使用两个循环来实现,外层循环控制第一个同学,内层循环控制第二个同学,然后再进行成绩的比较。最后输出符合条件的同学组数即可。
洛谷p1980c语言
洛谷p1980是一道C语言题目,要求编写一个程序,计算在1到n的所有整数中,数字x(0<=x<=9)共出现了多少次。下面是两种C语言的解法:
1.使用scanf输入n和x,然后使用while循环遍历1到n的所有整数,对于每个整数,使用while循环取出它的每一位数字,如果该数字等于x,则将计数器sum加1。最后输出sum即可。
```c
#include <stdio.h>
int main() {
int n,x,sum;
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++){
int t=i;
while(t!=0){
int m=t%10;
if(m==x){
sum++;
}
t/=10;
}
}
printf("%d",sum);
return 0;
}
```
2.同样使用scanf输入n和x,然后使用for循环遍历1到n的所有整数,对于每个整数,使用while循环取出它的每一位数字,如果该数字等于x,则将计数器m加1。最后输出m即可。
```c
#include <stdio.h>
int main() {
int n,x;
int m; //出现次数
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++) {
int b=i;
while(b) //检索b中出现x的次数
{
if(b%10==x)
m++;
b/=10;
}
}
printf("%d",m);
return 0;
}
```
阅读全文