C语言 输入100个数据(0—100之间)统计大于60的数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 输入100个数据(0—100之间)统计大于60的数相关的知识,希望对你有一定的参考价值。

下面是一个示例程序,它可以让用户输入100个整数并统计大于60的数的个数:

Copy code
#include <stdio.h>

int main()
int i, count = 0, num;

printf("请输入100个数(0-100之间):\n");

for (i = 0; i < 100; i++)
scanf("%d", &num);

if (num > 60)
count++;



printf("大于60的数的个数为:%d\n", count);

return 0;

程序首先通过循环,让用户依次输入100个数。在每次循环中,程序读取一个整数并进行比较,如果该数大于60,则将大于60的数的个数加1。最后,程序输出统计结果。

需要注意的是,在程序中没有对用户输入的数进行范围判断,这可能会导致用户输入无效的数据。如果需要进行输入验证,可以在读取数字之前添加验证逻辑。
参考技术A #include <stdio.h>
void main()

int i,x[100],sum=0;
for(i=0;i<100;i++)
scanf("%d",&x[i]);
for(i=0;i<10;i++)
if(x[i]>60)
printf("%d\n",x[i]);
sum++;
printf("sum= %d\n",sum);
追问

小问一下 你那个x[200]是什么意思呀

追答

这是1个数组,将你输入的数据一次性放在里面,其中X是数组名,100是数组的容量
这样之后调用时就不会数据遗失了~~

本回答被提问者采纳
参考技术B 代码
#include<stdio.h>
void main()
int count=0,i,a;
for(i=0;i<=99;i++)
scanf("%d",&a);
if(a>60)
count++;
printf("%d",count);
参考技术C 你只需要比较你输入的数据和60 的大小就行,小于就舍掉,大于就count加1 参考技术D for循环就行了,你可以边输边统计,不用数组了。追问

你又输入的代码么。。就是不知道代码怎么写呀

追答

#include
void main()

int sum=0;
int k=0;
for(int i=0;i60)

sum++;


printf("sum= %d\n",sum);

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

#include<bits/stdc++.h>

usingnamespacestd;

intmain()

chara;ints=1;

scanf("%c",&a);

while(a!='.')

if(a==''||a==',')s++;

scanf("%c",&a);

cout<<s;

return0;

扩展资料

C语言统计文件中的字符数、单词数注意事项

1、空白字符(空格和tab缩进)不计入字符总数;

2、单词以空格为分隔;

3、不考虑一个单词在两行的情况;

4、限制每行的字符数不能超过1000。

5、每次从文件中读取一行,放到缓冲区buffer,然后遍历缓冲区,统计当前行的字符和单词数。fgets()函数用于从文件中读取一行或指定个数的字符。

参考技术A #include
"stdio.h"
main()

char
string[81];
/*定义一个字符型数组*/
int
i,num=0,word=0;
/*定义几个整型常量,i用来控制循环次数,num表示单词个数,word相当于一个标志*/
char
c;
/*定义一个字符型变量*/
gets(string);
/*获取用户输入的一句话,在这句话的末尾系统会自动添加一个结束标志'\0'*/
for
(i=0;(c=string
[i]
)!='\0';i++)
/*从string[0]开始判断,只要它不是结束标志,就执行下面的语句*/
if(c=='
')
/*判断当前字符是不是空格,比如I
am
a
boy,第一个I不是空格,所以
就不执行word=0,而执行下一句
判断word是不是等于0(word=0表示把0赋给word,word==0表示判断word等不等于0),显然是的,因为
开始时赋给word的值是0,所以执行语句:“把1赋给word;num++”,此时num为1。再判断第二个,是空格,
所以再把0赋给word。再判断第三个a,不是空格,所以执行else
if(word==0),因为刚才把0赋给word了,
所以执行“把1赋给word;num++”,此时num为2,再判断第四个m,不是空格,但此时word为1,所以
else
if(word==0)语句不再执行,可以看出word的目的就是防止num重复相加,此后以此类推*/
word=0;
else
if(word==0)

word=1;
num++;

printf("There
are
%d
words
in
the
line.
\n"
,
num);

不知道我有没有说清楚,我自己看程序的时候就是这样自己按程序走几次,一般都能懂,希望对你有帮助···
参考技术B 提供一个思路。

首先你需要判断什么样的情况属于单词。

1.两个空格之间的不间断的字母可以看做一个单词。
2.这个字母可以任意长。(只要比句子短就可以)

如果想省事的话,可以设置3个指针:

phead pword
首先这2个指针都指向句子的首部。
1.遇到第一个空格,且空格后为字母,phead停住,指向这个空格。然后pword继续走。

2.如果pword一直都是遇到字母,则当它的下一个字符为空格或者结束符时,单词数目加1.同时,phead等于pword,继续寻找下边的字符串。

这样一直循环到字符串结束。
参考技术C #include<conio.h>
#include<stdio.h>
void despace(char *s,int *i)

while(s[*i]==' ') (*i)++;


int main()

int count=0,i=0;
char s[50];
char c;

gets(s);
while((c=s[i])!='\0')

if(c==' ')

despace(s,&i);
count++;

i++;

count++;
printf("\ncount:%d",count);
getch();
return 1;
本回答被提问者采纳
参考技术D #include "stdio.h"
main()

int i,sum=0,s=0;
char str[100];
printf("请输入一些字符,之间用空格隔开,然后按回车键:\n");
gets(str);
for(i=0;str[i];i++)

if(str[i]==' ')

if(s) sum++;
s=0;

else s=1;


printf("共有单词 : %d 个 \n",sum);

以上是关于C语言 输入100个数据(0—100之间)统计大于60的数的主要内容,如果未能解决你的问题,请参考以下文章

求C语言源代码

C语言,输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔.

C语言 编写程序,求出1~100之间所有能被3整除的整数,将他们输出,并且统计这些数总

C语言编程题 从100-999之间输入1个数,如果这个数的个位十位百位之和大于10,则输出这个数,否则输出10

C语言 统计数组每个元素个数

C语言怎么产生0-100之间1个随机数