Ⅰ 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