输入的数目不定,只是在设计阶段未知,在实际输入的时候,一定是有具体的数量的,所以对于这种情况,需要先做一个约定,常用的有两种方法:1
成都创新互联公司服务项目包括诏安网站建设、诏安网站制作、诏安网页制作以及诏安网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,诏安网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到诏安省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
在输入前,先输入一个总数,然后输入总数个整数。2
约定输入的结束符,如遇到换行结束输入,或者以EOF为结束输入标记。对于每种情况,处理的方式大致相同,但略有区别。1
不需要保存每个值,而是只需要使用该值即可。这样可以读入每个数,逐个处理即可。2
需要保存所有值的,可以将所有值保存在数组中,这个数组可以是静态的,也可以是动态的。如果可以确定数据的最大规模,比如最多1000个数,那么可以先创建一个足够大的,比如1000个元素的数组,静态动态均可。然后依次将元素存入。如果无法确定最大规模,那么就必须用动态数组。对于先输入总数的情况,可以在得到总数后,根据总数申请一个动态数组。对于总数在输入完成前始终未知的情况,可以先申请一定空间的值,在每次空间不足时,使用realloc函数,重新分配空间,实现不定量存储。
#include stdio.h
int prime(int n){
int i;
if(n==1) return 0;
for(i=2;i*i=n;i++){
if(n%i==0) return 0;
}
return 1;
}
int main(){
int n,sum=0;
while(1){
scanf("%d",n);
if(n=0) break;
if(prime(n)) sum = sum + n;
}
printf("%d\n",sum);
return 0;
}
你输入的是十个数,在控制循环中只输入了9个数, 输出中要有间隔,才能更清晰:
另外说一下,最好代码要规范一下:
#includestdio.h
int main()
{
void order(int a[10]);
int a[10],i;
printf("please input 10 numbers:\n");
for(i=0;i10;i++)////////////////9 to 10
scanf("%d",a[i]);
printf("output the numbers:\n");
order(a);
for(i=0;i10;i++)////////////////9 to 10
printf("%d ",a[i]);/////////////空格
printf("\n");
}
void order(int a[10])
{
int i,j,k;
for(i=0;i9;i++)
for(j=0;j9-i;j++)
if(a[j]a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
代码如下:
#includecstdio
int main()
{
int num[1000];
char ch;
do
{
scanf("%d",a[i++]);
}while((ch=getchar())!= '\n');// 这里用来判断是否输入了回车
return 0;
}
while(cinb[cnt++],cin.get()!='\n');//也可用这句代替
扩展资料:
C语言编写注意事项:
1、'x'与"x"的区别: 'x'表示一个整数, 字母x在极其字符集中对应的数值. "x"表示一个包含一个字符x 以及一个结束符'\0'。
2、const在声明变量中起限制作用, 该限定变量的值不能被修改。
3、%运算符不能应用与float或double类型。
4、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符。
5、++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1。
6、三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解。
7、C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解。
#includestdio.h
int main()
{
int n = 0, m = 0,s[];
for(;n != -1;)
{
scanf("%d",n);
s[i]=n;i++;
m = m + 1;
}
printf("个数为:%d\n",m);
for(int i=0;im;i++)
printf("%d\n",s[i]);
return 0;
}
扩展资料:
c语言需要说明的是:
1.一个C语言源程序可以由一个或多个源文件组成。
2.每个源文件可由一个或多个函数组成。
3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4.源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。
6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-c语言
用scanf("%d",a);就可以将整数输入a中,将d改成c的时候就可以将字符输入到a中了