❶ c语言中循环输入多个数后,如何把输入的数全部输出
首先你选用的数据结构就有问题,想实现这种功能需要使用数组或者指针来完成。通过一个x变量只可以存一个数据,下次再输入的时候就自动被覆盖了。
例如int
x[5];
for(i=0;i<5;i++)
{scanf("%d",x[i]);
}
for(i=0;i<5;i++)
{printf("%d",x[i]);
}
❷ 循环中完成多次输入输出 c语言 求教啊
#include<stdio.h>
intmain()
{
charb;//字符
inti,n;//整形
floatm,c,x;//浮点型
for(i=0;i<=2;i++)
{
printf("Pleaseenteranameofstudent: ");
fflush(stdin);//清键盘缓冲区
scanf("%c",&b);
printf("pleaseenteranumofstudent: ");
scanf("%d",&n);
printf("pleaseenterthreegradesofhim: ");
scanf("%f%f%f",&m,&c,&x);//浮点输入
printf("thestudent`savegradeis:%f ",(m+c+x)/3);
}
return0;
}
❸ 下面C语言为什么输入字母d会无限循环输出printf("请输入命令符:\n");语句,数字5以上就不会无限输出
图中框内的scanf语句是要输入一个整数,如果输入非数字这个函数就会失败,但程序不会退出。还有最大的问题它不会把你输入的非数字字符从输入缓冲区移除,所以下次执行scanf时还是字符输入失败。不仅仅是输入d只要是非数字都会无限循环输出printf。
有两种方法可以改,一是在scanf语句后面加入while(getchar() != ' ');每次输入完把输入缓冲期字符移除;
第二种判断scanf的返回值,if(scanf("%d",&num)!=1)
{
加入输入失败你想怎么处理
}
❹ C语言:输入\之类的话 for语句会一直往下循环输出,如何终止
输入之类的话 for语句会一直往下循环输出,是因为程序需要读入一个整数,但是输入的非法字符会一直停留在输入缓冲区中,要想终止,可以按下Ctrl+Break终止循环。
正面的程序已经帮你改好了:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int a, b,i;
srand((unsigned)time(NULL));//使用时间作为参数来生成随机数
a = rand() % 100 + 1;
printf("《C语言程序设计》翻转课堂—猜数游戏 欢迎来到猜数游戏 游戏说明:该程序将会生成1~100之间的整数,然后就由您负责猜数,同样也要输入1~100之间的整数,不许耍赖哦! ");//对游戏进行说明
for (i =1; i >0; i++)
{ fflush(stdin);
printf(" 请输入你想要猜的数字:");
scanf("%d", &b);
if (b == 0)
{ printf(" 感谢您的游玩,期待下次能再与你相遇^O^ ");
break;
}
if (b > 100 || b < 1)
{ printf(" 不许耍赖乱输数字,你到底想不想赢 ̄へ ̄ ");
fflush(stdin);
}
else
{ if (a == b)
printf(" 恭喜您猜对啦!!!o(^▽^)o 本次程序的随机数就是%d ", a);
else
printf(" 抱歉您没有猜对(╥╯^╰╥) 本次程序的随机数是%d ", a);
printf("本次游戏结束啦,喜欢的话可以继续^O^,如果不想玩了输入0就可以退出哦 ");
}
}
printf(" 编写成员:杨天晟、付京华");
return 0;
}
❺ C语言编程题:定义一个数组,然后利用循环为数组输入10个整数,然后再将数组输出,请问该怎么做
#include<stdio.h>
int main(){
int a[10]={},i,sum=0;
printf("请输入10个整数: ");
for(i=0;i<10;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
printf("10个元素和为:%d",sum);
return 0;
}
(5)c语言输入循环输出扩展阅读:
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
❻ C语言用for如何实现多次循环的输入输出
for 语句称之为循环语句,语句块称之为循环体,而这种结构在C++中称之为循环结构。执行循环前,创建了两个变量,分别为sum和i。
循环语句中习惯用诸如i、j、k之类的字母作为变量名,来控制循环执行次数,这些变量又称之为循环控制变量。而sum表示"和"的意思,作用是把一个个数值累加起来。
用for语句计算1加到100的和的源代码如下
#include "iostream.h"
int main()
{
int sum =0;
for (int i =1;i <=100;i = i + 1)
{
sum = sum + i;
}
cout <<sum <<endl;
return 0
}
(6)c语言输入循环输出扩展阅读
1、防止死循环,即确保循环体内存在可以改变表达式值的语句,如i++。
2、循环和if语句一样的地方是:大括号可以省略。但只能控制离它最近的一条语句。也就是说当循环体只有一条语句的的时候,可以省略大括号。但这条语句不能是声明语句。
❼ 跪求C语言如何多次输入输出
这样处理:
while(1)
{
scanf("%d", &a);// 先读a
if(a==-1) break; // 如果为-1就退出
scanf("%d%d", &b, &c); // 没有退出,说明输入不是-1,接着读取b和c
// 处理a,b,c
}
❽ C语言的输入输出和循环问题
已调试通过 程序是你要的吗?
如输入 4中间输入空格然后输入符号'*';
结果如下:
*-*-*-*-
*-*-*-*-
*-*-*-*-
*-*-*-*-
还是每行最后一个星号的下横线不要?
你自己运行下看结果是不是你要的....
#include<stdio.h>
void main()
{
void mtdprint(int i,char c);
int i;
char c;
printf("请输入一个数字和一个字符,以空格隔开");
scanf("%d %c",&i,&c); //输入数字和字符
mtdprint(i,c); //调用输出函数
//printf("%d,%c",i,c);
}
//输出函数 打印出图案用
void mtdprint(int i,char c)
{
int j,k;
for(j=0;j<i;j++)
{
for(k=0;k<i;k++)
{
printf("%c-",c);
}
printf("\n");
}
}
不用for循环?
程序修改如下:已调试通过 结果仍然如上所说
#include<stdio.h>
void main()
{
void mtdprint(int i,char c);
int i;
char c;
printf("input a number and a charcter with space ");
scanf("%d %c",&i,&c);
mtdprint(i,c);
//printf("%d,%c",i,c);
}
void mtdprint(int i,char c)
{
int j=0,k=0;
while(j<i)
{
while(k<i)
{
k++;
printf("%c-",c);
}
k=0;
j++;
printf("\n");
}
}
❾ C语言用for循环输入字符(#结束输入)并立刻输出,如何统计出一共输入的字符数
按照你程序的意思:
输入字符,对小写字母ASCII码处理后打印,其它字符不处理直接打印。输入#号结束输入。
统计输入字符的个数(不包括回车和#)。
思路:内嵌循环输入无视回车。
下面是改写内容:
#include <stdio.h>
int main()
{
char chChar=0;
int i=0;
for (i=0;chChar!='#';i++)
{
while((chChar=getchar())=='\n');
if(chChar=='#') break;
if (chChar>='a'&&chChar<='x')
chChar=chChar+2;
else if(chChar>='y'&&chChar<='z')
chChar=chChar-24;
putchar(chChar),putchar('\n');
}
printf("字符个数为%d\n",i);
return 0;
}