❶ 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;
}