① 求c語言程序,猜數游戲。
#include<stdlib.h>
intmain()
{
intn,g,d,t;
n=156;
printf("請輸入一個數字: ");
scanf("%d",&g);
while(1)
{
if(g<n)
{
d=g;
printf("太小了, 在輸入一個數字:");
scanf("%d",&t);
g=t;
}
if(g>n)
{
d=g;
printf("太大了, 再輸入一個數字:");
scanf("%d",&t);
g=t;
}
if(g==n)
{
printf("你猜對了!就是156。 ");
break;
}
}
return0;
}
② 用C語言求平均數,盡量用簡單的程序和結構解答
#include"stdio.h"
intmain()
{
intscore1,score2,score3,score4,score5;
floatava;
printf("按從大到小的順序輸入5個0~100之間的整數: ");
scanf("%d%d%d%d%d",&score1,&score2,&score3,&score4,&score5);
ava=(score2+score3+score4)/3;
printf("小明獲得的總評分為:%f",ava);
return0;
}
直接寫的所以沒有排版 提供一個思路沒有具體調試運行 不過應該不會出錯
③ 用c語言編寫一個猜數游戲
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Range 100
int guess(int k){
int input;
printf("請輸入數字:\t");
scanf("%d",&input);
if(input==k)return 1;
if(input>k)return -1;
if(input<k)return -2;
}
void score(int time){
if(time<5){printf("恭喜! Score: 100\n");return;}
if(time>=5&&time<11){printf("超過時間~ Score: 80\n");return;}
else{printf("笨! Score: 50\n");}
}
int main(){
int aim;
srandom((unsigned)time(0));
aim = random()%Range;
int i,flag;
i=flag=0;
while(flag!=1){
flag=guess(aim);
if(flag==-1)printf("大了!\n");
if(flag==-2)printf("小了!\n");
if(flag==1)printf("恭喜答對! 此數是:%d\n",aim);
i++;
}
score(i);
return 0;
}
④ c語言求n個數的平均數
求n個數平均數源程序如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int a[100] = { NULL };//初始化數組元素
int i = 0, n;//定義循環變數和正整數變數n
float sum = 0.0;//定義和變數為float型,注意計算的數據類型
float average = 0.0;//定義平均數變數為float型,注意計算的數據類型
printf("Please input n (n<100) :");
scanf("%d", &n);//輸入正整數n
printf("Please input %d integers:", n);//提示輸入幾個正整數
for (i = 0; i < n; i++)//循環輸入元素
{
scanf("%d", &a[i]);//輸入整形變數
sum += a[i];//循環輸入的時候同時進行求和
}
//for (i = n - 1; i >= 0; i--)
printf("the a[n] number: ");//倒敘輸出數組元素
for (i = 0; i < n; i++)//循環輸入元素
printf("%d ", a[i]);//倒敘輸出數組元素
printf("
");
average = sum / (float)n;//注意不同類型之間的計算,這里加了類型強制轉換
printf("averge=%.2f
", average);//輸出平均數
return 0;
}
程序運行結果如下:
(4)c語言猜平均數游戲擴展閱讀:
其他實現方式:
#include <iostream>
int main()
{
int i;
double sum = 0;
int count = 0;
scanf("%d", &i);
while (i != -1)
{
sum = sum + i;
count++;
scanf("%d", &i);
}
printf("%.2f", sum / count);
return 0;
}
⑤ C語言編程 猜數游戲
#include
#include
//用到了rand函數,所以要有這個頭文件
#include
//用到了time函數,所以要有這個頭文件
int
main()
{
int
number;
//number用於存儲隨機數
int
guess=0;
//guess用於存儲玩家猜的數
srand((unsigned)
time(null));//用系統時間作為rand函數使用的種子
number=rand()%100;
//隨機除以100,取余數
number++;
//余數加1
printf("猜數字游戲\n");
printf("該數字在1到100之間\n");
while(guess!=number)
{
printf("請輸入您所猜的數:");
scanf("%d",&guess);
//如果玩家猜的數較小,給予提示
if
(guess
number)
{
printf("大了\n");
}
}
//猜中則循環結束,輸出猜中的數字
printf("猜對了,這個數字就是:%d\n",number);
return
0;
}
⑥ C語言編程題(設計一個猜數字的小游戲)滿意再加200分!!!!
我看了樓上幾個的答案,功能均不是很完善,所以我決定來試一試
,應該是今天最遲是明天可以貼出來了.希望不要那麼快就結貼....
哈哈.....經過了幾個小時的奮戰.. 終於搞出來了!!!!!!!!!!!!!!!!!!! 你題目要求的功能幾乎全部實現.希望你認真調試一下!!!!!!
調試環境.vc++ 6.0. 支持中文編譯的編譯器都可以調試運行的.
注意事項:如果編譯器是不支持中文顯示的就會出現亂碼的,所以最好是在支持中文顯示的編譯器上面編譯運行.例如:vc++ 6.0以上的版本!!!!
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include<windows.h>
#include<string.h>
#define MAX 5
struct record
{
char name[10];
int sorce;
}rec[MAX],Rec;
int n; //記錄行數
int num; //輸入的數字
void display(); //開始界面
void xuanze(); //選擇函數
void sys(int a); //操作函數
void newgame(); //新游戲
void vdisplay(); //瀏覽記錄界面
void vxuanze(); //瀏覽選擇函數
void help(); //幫助說明
void vsys(int a); //瀏覽操作函數
void viewsorce(); //按記錄的順序瀏覽
void viewname(); //按記錄的姓名瀏覽
void viewsname(); //按記錄和姓名瀏覽
void delrec(); //刪除記錄
int qushu(); //取數函數
int tishi(int aa); //提示函數
void addrec(int a); //判斷並且增加記錄
void recread(); //讀取記錄文件
void recwrite(); //寫入記錄文件
///////////////////////////////////////////////////////////////////////////////////////////////
////////////////////函數定義//////////////
void display() //開始界面
{
system("cls"); //清屏
printf(" ============================================\n");
printf(" ================數字競猜游戲================\n");
printf(" ============================================\n");
printf("\n");
printf(" 1: 新游戲\n");
printf("\n");
printf(" 2: 瀏覽記錄\n");
printf("\n");
printf(" 3: 幫助說明\n");
printf("\n");
printf(" 4: 清除記錄\n");
printf("\n");
printf(" 5: 退出\n");
printf("\n");
printf(" ============================================\n");
xuanze();
}
void xuanze() //選擇函數
{
int a;
printf("請輸入你所選擇的操作數:\n");
scanf("%d",&a);
if(a==1||a==2||a==3||a==4||a==5)
{
sys(a);
}//選擇相應的操作數執行函數
else
{
printf("錯誤的操作數!\n");;
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
}
void sys(int a) //操作函數
{
switch(a)
{
case 1:newgame();break;
case 2:vdisplay();break;
case 3:help();break;
case 4:delrec();break;
case 5:exit(0);break; //退出
}
}
void newgame() //新游戲
{
recread();
system("cls"); //清屏
printf("\n");
printf("記錄列表顯示如下:\n");
printf("\n");
for(int i=0;i<MAX;i++)
{
if(rec[i].sorce==0)printf(" <---空記錄--->\n");
else
printf(" 第 %d 名: 姓名: %s 分數 %d\n",i+1,rec[i].name,rec[i].sorce);
}
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();//////////////上面列出記錄文件中的記錄
/////////////////////////////////////////////////////////////////////////////
int snum; //輸入的數字
int sn=10; //機會次數
num=qushu(); //取數
L: system("cls"); //清屏
printf(" ============================================\n");
printf(" ================數字競猜游戲================\n");
printf(" ============================================\n");
printf("\n");
printf(" 1: 顯示答案\n");
printf(" ============================================\n");
printf("\n");
printf("請輸入你猜想的四個數字(格式為9999樣式)你還有 %d 次機會:\n",sn);
scanf("%d",&snum);
if(snum<10000 && snum>1000 || snum==1)
{
if(snum==1)
{
printf("你放棄了本局游戲!該四個數字是: %d\n",num);
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
else
{
int flag=tishi(snum);
if(flag!=0 && sn!=0)
{
sn--;
if(sn==0)
{
printf("真是遺憾!十次機會沒有了!沒有關系!下次繼續!\n");
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
printf("請按任意鍵繼續猜...\n");
getchar();
getchar();
goto L;
}
else
{
if(sn!=0)addrec(sn);
else
{
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
}
}
}
else
{
printf("錯誤的操作數!\n");;
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
goto L;
}
}
void help() //幫助說明
{
system("cls"); //清屏
printf(" ============================================\n");
printf(" ==============數字競猜游戲幫助==============\n");
printf(" ============================================\n");
printf("\n");
printf("1.新游戲中,你可以輸入四位數,來競猜系統自動生成的四個數字!,只有十次的機會,\n");
printf(" 每次機會都有相對應的提示,十次的機會利用完了還沒有猜對的話就算失敗!四個數字的\n");
printf(" 相應格式在游戲中會有提示!當成功猜出系統給定的數字時候,就會統計你的成績.當你的\n");
printf(" 成績比記錄文件中的記錄好的時候就會提示你是否把記錄記錄到記錄文件中,當你選擇是\n");
printf(" 的時候就會接著提示你輸入你的名字.再按回車.沒有意外就會提示保存成功!\n");
printf(" 還有要說明的是記錄中的分數是越低就代表成績越好!\n");
printf("2.瀏覽記錄有三種方式!第一種只是列出記錄中的姓名;第二種是列出記錄中的成績次序\n");
printf(" 第三種是姓名跟成績一起列出來!\n");
printf("3.清除記錄就是把記錄文件初始化.即是讓記錄文件為空!\n");
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
void vdisplay() //瀏覽記錄界面
{
system("cls"); //清屏
printf(" ============================================\n");
printf(" ================數字競猜游戲================\n");
printf(" ============================================\n");
printf("\n");
printf(" 1: 按記錄的順序瀏覽\n");
printf("\n");
printf(" 2: 按記錄的姓名瀏覽\n");
printf("\n");
printf(" 3: 姓名記錄全部瀏覽\n");
printf("\n");
printf(" 4: 返回上級\n");
printf("\n");
printf(" ============================================\n");
vxuanze();
}
void vxuanze() //瀏覽選擇函數
{
int a;
printf("請輸入你所選擇的操作數:\n");
scanf("%d",&a);
if(a==1||a==2||a==3||a==4)
{
vsys(a);
}//選擇相應的操作數執行函數
else
{
printf("錯誤的操作數!\n");;
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
vdisplay();
}
}
void vsys(int a) //瀏覽操作函數
{
switch(a)
{
case 1:viewsorce();break;
case 2:viewname();break;
case 3:viewsname();break;
case 4:display();break; //返回上級
}
}
void viewname() //按記錄的順序瀏覽
{
recread();
system("cls"); //清屏
printf("\n");
printf("記錄列表顯示如下:\n");
printf("\n");
for(int i=0;i<MAX;i++)
{
if(rec[i].sorce==0)printf(" <---空記錄--->\n");
else
printf(" 第 %d 名: 姓名: %s\n",i+1,rec[i].name);
}
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
vdisplay();
}
void viewsorce() //按記錄的姓名瀏覽
{
recread();
system("cls"); //清屏
printf("\n");
printf("記錄列表顯示如下:\n");
printf("\n");
for(int i=0;i<MAX;i++)
{
if(rec[i].sorce==0)printf(" <---空記錄--->\n");
else
printf(" 第 %d 名: 分數 %d\n",i+1,rec[i].sorce);
}
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
vdisplay();
}
void viewsname() //按姓名和記錄瀏覽
{
recread();
system("cls"); //清屏
printf("\n");
printf("記錄列表顯示如下:\n");
printf("\n");
for(int i=0;i<MAX;i++)
{
if(rec[i].sorce==0)printf(" <---空記錄--->\n");
else
printf(" 第 %d 名: 姓名: %s 分數 %d\n",i+1,rec[i].name,rec[i].sorce);
}
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
vdisplay();
}
void delrec() //刪除記錄
{
recread();
for(int i=0;i<MAX;i++)
{
rec[i].sorce=0;
}
recwrite();
printf("刪除成功!\n");
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
int qushu() //取數函數
{
int a=0;
int i=0;
srand( (unsigned)time( NULL ) ); //隨機數種子設置
while(i==0)
{
i=rand(); //這樣做就是為了增加隨機性
i=i%100;
}
L: for(int j=0;j<i;j++)
{
a=a+rand(); //判斷隨機數是否是四位數 如果不是繼續取數
}
a=(a/i+rand())%10000;
if(a<1000)goto L;
return(a);
}
int tishi(int aa) //提示函數
{
int a,b,c,d;
int af,bf,cf,df;
if(aa==num)
{
printf("恭喜!你猜對了!四個數就是:%d\n",num);
return(0);
}
else
{
a=(num-num%1000)/1000;
b=(num%1000-(num%1000)%100)/100;
c=((num%1000)%100-((num%1000)%100)%10)/10; //獲取默認四個數字
d=((num%1000)%100)%10;
af=(aa-aa%1000)/1000;
bf=(aa%1000-(aa%1000)%100)/100;
cf=((aa%1000)%100-((aa%1000)%100)%10)/10; //獲取輸入的四個數字
df=((aa%1000)%100)%10;
if(af>a)printf("\n第一個數應該比 %d 小一點!\n",af);
if(af==a)printf("恭喜!第一個數字對了!應該是: %d\n",af); //數字比較
if(af<a)printf("第一個數應該比 %d 大一點!\n",af);
if(bf>b)printf("第二個數應該比 %d 小一點!\n",bf);
if(bf==b)printf("恭喜!第二個數字對了!就是: %d\n",bf); //數字比較
if(bf<b)printf("第二個數應該比 %d 大一點!\n",bf);
if(cf>c)printf("第三個數應該比 %d 小一點!\n",cf);
if(cf==c)printf("恭喜!第三個數字對了!就是: %d\n",cf); //數字比較
if(cf<c)printf("第三個數應該比 %d 大一點!\n",cf);
if(df>d)printf("第四個數應該比 %d 小一點!\n",df);
if(df==d)printf("恭喜!第四個數字對了!就是: %d\n",df); //數字比較
if(df<d)printf("第四個數應該比 %d 大一點!\n\n",df);
return(1);
}
}
void addrec(int a) //判斷並且增加記錄
{
char c;
int flag=0; //標志位
a=11-a;
recread();
for(int i=0;i<MAX;i++)
{
if(a<rec[i].sorce || rec[i].sorce==0)
{
if(i==4 || rec[i].sorce==0)
{
printf("\n");
printf("恭喜!你的成績 %d 分已經達到了前五名!\n",a);
printf("確認要保存記錄請按'y',任意鍵返回...!\n");
scanf("%s",&c);
if(c!='y')display();
rec[i+1].sorce=rec[i].sorce; //記錄後移
strcpy(rec[i+1].name,rec[i].name);
printf("請輸入你的名字\n");
scanf("%s",&rec[i].name);
rec[i].sorce=a;
recwrite(); //寫入
printf("恭喜!添加成功!\n",a);
flag++;
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
else
{
printf("\n");
printf("恭喜!你的成績 %d 分已經達到了前五名!\n",a);
printf("確認要保存記錄請按'y',任意鍵返回...!\n");
scanf("%s",&c);
if(c!='y')display();
for(int j=i;j<MAX-1;j++)
{
rec[j+1].sorce=rec[j].sorce; //記錄後移
strcpy(rec[j+1].name,rec[j].name);
if(rec[j+2].sorce==0)break;
}
printf("\n");
printf("請輸入你的名字\n");
scanf("%s",&rec[i].name);
rec[i].sorce=a;
recwrite(); //寫入
printf("恭喜!添加成功!\n",a);
flag++;
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
}
}
if(flag==0)
{
printf("\n");
printf("請按任意鍵繼續...\n");
getchar();
getchar();
display();
}
}
void recread() //讀取記錄文件
{
FILE *fp;
L: fp=fopen("E:\\rec.rec","rb");
if(fp==NULL)
{
recwrite();
goto L; //初始化
}
if(fread(&rec,sizeof(record),MAX,fp)==MAX)
{
}
else
{
printf("文件讀取失敗!");
}
fclose(fp);
}
void recwrite() //寫入記錄文件
{
FILE *fp;
fp=fopen("E:\\rec.rec","wb");
if(fp==NULL)
printf("寫入失敗!\n");
fwrite(rec,sizeof(record),MAX,fp);
fclose(fp);
}
void main()
{
display();
}
////////////////////////////////
⑦ 怎麼用c語言計算平均數
1、新建一個求數組內所有元素的平均值項目。
⑧ 怎樣用C語言求平均數
題目:計算鍵盤輸入的整數的平均值。遇到輸入數為負數時,結束程序,輸出結果。
實現過程:
定義一個整形變數n,用來存儲每次輸入的整數
定義一個整形變數cnt,用來記錄輸入的整數的個數
定義浮點型變數sum保存整數的和,初始化為0.0
使用for循環,cnt為循環控制變數,輸入一個整數n,若n<0結束循環,否則將輸入的數據n累加到sum中
如果cnt大於0,則輸出平均值sum/cnt ;
參考代碼:
⑨ c語言猜數游戲,100以內!結束時輸出玩家猜的次數,並詢問玩家是否繼續
#include<stdio.h>
#include<stdlib.h>
#include"time.h"
intmain(intargc,char*argv[])
{
intnum,n=-1,count=0,flag=0;
while(1)
{
if(flag==0)
{
system("cls");
count=0;
n=-1;
srand(time(0));
num=rand()%100+1;
flag=1;
}
printf("
請輸入你猜的數:");
scanf("%d",&n);
count++;
if(n>num)
{
printf("過大");
}
elseif(n<num)
{
printf("過小");
}
else
{
printf("
正確,你共猜了%d次。
還要繼續嗎:[y/n]:",count);
intc;
fflush(stdin);
c=_getche();
if(c=='y'||c=='Y')
{
flag=0;
continue;
}
else
break;
}
}
return0;
}