Ⅰ c語言程序題
return 1是循環外執行的
這個縮進寫的不好,導致誤解
當循環中所有數都不是約數時,return 0沒有執行,循環自動結束,這時才會執行return 1
如果加上else,那麼只要有一個不能整除就會返回1了,這個明顯是不對的
Ⅱ c語言程序題目
為了方便調試,我直接讓隨機數顯示,你不要可以將它隱藏掉。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
intn,a,i=1;
srand(time(NULL));
n=rand()%100+1;
while(1)
{
system("cls");
printf("(第%d次猜%d)請輸入要猜的數字:",i,n);
scanf("%d",&a);
if(a==n)//猜中
break;
if(a==-1)
{
printf("玩家終止程序!
");
return0;
}
i++;
}
if(i<=4)
printf("verygood
");
if(i>4&&i<=7)
printf("good
");
if(i>7&&i<=10)
printf("normal
");
if(i>10)
printf("差
");
return0;
}
Ⅲ c語言編程題目及答案
#include <stdio.h>
#include <math.h>
void main(void)
{
double a;
double b;
double c;/* 以上三個變數分別對應三邊 */
double sin_c;/* c邊對應角的正玄值 */
double cos_c;/*c邊對應角的余玄值*/
double cos_a;
double area; /* 三角形的面積 */
printf("輸入a,b,c:");
scanf("%lf, %lf, %lf", &a, &b, &c);
if(((a+b)>c) && (a-b)<c)
{
printf("三邊能夠成三角形\n.");
cos_c = (a*a + b*b -c*c)/(2*a*b);
cos_a = (b*b + c*c - a*a)/(2*b*c);
if ((cos_c > 0) && (cos_a >0))
{
printf("三角形是銳角三角形。\n");
}
else if ((cos_c < 0) || (cos_a < 0))
{
printf("三角形是鈍角三角形\n");
}
else
{
printf("三角形是直角三角形\n");
}
sin_c = sqrt(1- cos_c*cos_c);
area = a*b*sin_c/2;
printf("三角形的面積是%f.\n",area);
}
else
{
printf("三邊不能構成三角形\n");
}
}
Ⅳ c語言編程題
《C語言程序設計試題匯編》由三部分組成:第一部分為試題集,每章都提供了大量試題,並給出了每道試題的答案及解析;第二部分為全國計算機等級考試指導,包括大綱規定的考試內容、重要知識點與分值預測,筆試應試指導與復習策略,2007年9月、2008年4月、2008年9月三套筆試真題試卷解析與筆試應試技巧,上機考試應試方法與技巧,上機題主要演算法及實例,上機考試流程和操作方法;第三部分為綜合模擬訓練,提供了五套筆試模擬試卷以及答案與解析。
《C語言程序設計試題匯編》適合作為大專院校中各專業層次的學生學習C語言程序設計的輔導教材。通過對《C語言程序設計試題匯編》的學習,讀者能夠進一步復習、鞏固和掌握C語言程序設計的知識,並適應和滿足最新的等級考試要求,幫助廣大考生順利通過全國計算機等級二級C語言程序設計考試。
圖書目錄
第一部分 試題集
第1章 C語言概述
第2章 數據類型、運算符與表達式
第3章 最簡單的C程序設計
第4章 邏輯運算和判斷選擇控制
第5章 循環結構
第6章 數組
第7章 函數
第8章 編譯預處理
第9章 指針
第10章 結構體與共用體
第11章 位運算
第二部分 全國計算機等級考試指導
第三部分 綜合模擬訓練
Ⅳ c語言編程題
/******程序功能:用聯合體和結構體存放教師和行政人員的信息
聯合體用於存放編號,教師編號用整型,行政人員編號用字元串*/
/***這里題目要求只能用結構體套聯合體了。而flag是標志是教師或是
行政人員,這里規定1為教師,2為行政人員。這里假設一共有十個人多的自己改一下
相應的宏,具體多少教師多少行政人員由輸入者決定***/
#define
M
10
#include
<stdio.h>
#include
<string.h>
/**聯合體****/
union
twu
{
int
tnumber;
char
wnumber[5];
};
/****結構體***/
struct
tws
{
int
intage;
int
flag;
char
chname[20];
char
chsex[10];
union
twu
twnumber;
};
/***輸入教師信息***/
void
inputteacher(struct
tws
*t)
{
int
i;
char
ch[100];
flushall();
printf("***************for
teacher*********************:\n");
printf("Input
the
name:\n");
gets(ch);strcpy(t->chname,
ch);
flushall();
printf("input
sex\n");
gets(ch);
strcpy(t->chsex,
ch);
flushall();
printf("input
numbers:\n");
scanf("%d",
&i);t->twnumber.tnumber
=
i;
printf("input
age(int):\n");
scanf("%d",
&i);t->intage
=
i;
t->flag
=
1;
}
/****輸入行政人員信息*****/
void
inputselectman(struct
tws
*s)
{
int
i;
printf("***************for
selectman*********************:\n");
printf("Input
the
name:\n");
scanf("%s",
s->chname);
printf("input
sex\n");
scanf("%s",
s->chsex);
printf("input
numbers:\n");
scanf("%s",
s->twnumber.wnumber);
if
(5
!=
strlen(s->twnumber.wnumber))
{
printf("input
number
error
!\n");
}
flushall();flushall();flushall();flushall();
printf("input
age(int):\n");
scanf("%d",
&i);s->intage
=
i;
s->flag
=
2;
printf("s->flag
=
%d",
s->flag);
}
/*輸出教師信息*/
void
printt(struct
tws
t)
{
printf("teacher's
informations:\n");
puts(t.chname);
puts(t.chsex);
printf("%d\n%d\n",
t.twnumber.tnumber,
t.intage);
}
/*輸出行政人員信息*/
void
prints(struct
tws
s)
{
printf("selectman's
informations:\n");
puts(s.chname);
puts(s.chsex);
puts(s.twnumber.wnumber);
printf("%d\n",
s.intage,);
}
void
main()
{
int
i;
int
flg;
char
ch
=
'w';
struct
tws
twstruct[M];
for
(i
=
0;
i
<
M;
i++)
{
flg
=
1;
while
(1
==
flg)
{
printf("input
a
to
imput
teacher
informations
and
b
is
selectman:\n");
scanf("%c",
&ch);
switch(ch)
{
case
'a':
{
inputteacher(&twstruct[i]);
flg
=
0;
break;
}
case
'b':
{
inputselectman(&twstruct[i]);
flg
=
0;
break;
}
default
:flg
=
0;printf("input
error
re_input
please\n");
}
flushall();
}
}
for
(i
=
0;
i
<
M;
i++)
{
if
(1
==
twstruct[i].flag)
{
printt(twstruct[i]);
}
else
if
(2
==
twstruct[i].flag)
{
prints(twstruct[i]);
}
}
getch();
}
由於我的編譯器不好,有點東西是多餘的,可以刪去,不過不刪一樣正確.
Ⅵ c語言程序題目~
main( )
{
int number[10];
input(number); /*調用輸入函數輸入number數組的元素*/
max_min_value(number); /*調用對換函數處理number數組*/
output(number); /*調用輸出函數輸出number數組中元素的值*/
}
input(int number[10]) /*此函數向首地址為number的數組輸入10個元素*/
{
int i;
printf("Input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&number[i]);
}
max_min_value(int array[10]) /*此函數交換array數組的對應元素*/
{
int *max,*min,*p,*array_end;
array_end=array+10;
max=min=array; /*max、min初值為數組首地址*/
for(p=array+1;p<array_end;p++)
if(*p>*max) max=p; /*max中存放最大數的地址*/
else if(*p<*min) min=p; /*min中存放最小數的地址*/
*p=array[0];array[0]=*min;*min=*p; /*最小數與第一個數交換*/
*p=array[9];array[9]=*max;*max=*p; /*最大數與最後一個數交換*/
return;
}
output(int array[10]) /*此函數輸出array數組的10個元素*/
{
int *p;
printf("Now,they are:");
for(p=array;p<=array+9;p++)
printf("%d ",*p);
}
運行結果:
Input 10 numbers:32 24 56 78 1 98 36 44 29 6↙
Now,they are:1 24 56 78 32 6 36 44 29 98
Ⅶ c語言程序題~!
1
4
3
2
8
6
5
7
3
7
2
5
4
8
6
1
原始的數組是這樣的,算是個矩陣。
而你那個程序的作用是
對
矩陣的對角線上的數進行降序排。所以原先對角線上的1
6
2
1
就變成了6
2
1
1了。
變成了
6
4
3
2
8
2
5
7
3
7
1
5
4
8
6
1
6
就跑到了左上角。
而你程序的輸出
只是輸出
第一行。所以是
6
4
3
2
Ⅷ C語言程序題
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d,%d,%d",n/100%10,n/10%10,n%10);
return 0;
}
Ⅸ 以下c語言程序題是怎麼做的啊
include<stdio.h>
void main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
//這段程序相當於
#include<stdio.h>
void main()
{ int a=4,b=5,c=0,d;
d=(!a)&&(!b)||(!c);
printf("%d\n",d);
}
Ⅹ C語言程序題
聲明2維數組大小是 6*6。 輸入和存放的 矩陣大小 是 n*n, 初始化 設 n=3.
for(k=0;k<n;k++) for(j=0;j<3;j++) a[k][j]=k*n+j;
初始化 矩陣 元素值 依次是 0 到 n*n-1。
n=3 時,元素值是 0 1 2 , 3 4 5, 6 7 8
初始化時, 累加器 sum=0.
for(k=0;k<n;k++) sum= sum+a[k][k]; 計算主對角線元素之和。(0+4+8=12)。
for(k=0;k<n;k++) sum=sum+a[k][n-k-1]; 再累加上副對角線元素之和。(12+2+4+6=24。)
輸出 主對角線+副對角線元素之和 24