c语言例题100道附解析(C语言的题)

:暂无数据 2026-07-30 02:30:01 :0

c语言例题100道附解析(C语言的题)

各位老铁们,大家好,今天由我来为大家分享c语言例题100道附解析,以及C语言的题的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

C语言的题

您好,很高兴回答您的问题。
通过分析题目和已有的程序语句,可以发现本题主要考查的是if~else语句的使用。
第一个空已经看出是属于if语句中括号内的内容,而且后面使用的是yes,那么这里面就应该填写满足条件的语句,也就是既是7的倍数又是8的倍数,那么应该填写既能被7整除也能被8整除,所以是n%7==0&&n%8==0;第二空的后面是no,并且结合以前的内容,我们知道应该填写else,表示不满足if条件时输出no。

经典C语言编程30例(二)

【程序31】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
判断第二个字母。悔液
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2.程序源代码:
#include
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getch())!=’Y’)/*当所按字母为Y时才结束*/
{ switch (letter)
{case ’S’:printf("please input second letter\n");
if((letter=getch())==’a’)
printf("saturday\n");
else if ((letter=getch())==’u’)
printf("sunday\n");
else printf("data error\n");
break;
case ’F’:printf("friday\n");break;
case ’M’:printf("monday\n");break;
case ’T’:printf("please input second letter\n"碧李物);
if((letter=getch())==’u’)
printf("tuesday\n");
else if ((letter=getch())==’h’)
printf("thursday\n");
else printf("data error\n");
break;
case ’W’:printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
==============================================================
【程序32】
题目:Press any key to change color, do you want to try it. Please hurry up!
1.程序分析:
2.程序源代码:
#include
void main(void)
{
int color;
for (color = 0; color 《 8; color++)
{
textbackground(color);/*设置文本的背景颜色*/
cprintf("This is color %d\r\n", color);
cprintf("Press any key to continue\r\n");
getch();/*输入字符看不见*/
}
}
==============================================================
【程序33】
题目:学习gotoxy()与clrscr()函数
1.程序分析:
2.程序源代码:
#include
void main(void)
{
clrscr();/*清屏函数*/
textbackground(2);
gotoxy(1, 5);/*定位函数*/
cprintf("Output at row 5 column 1\n");
textbackground(3);
gotoxy(20, 10);
cprintf("Output at row 10 column 20\n");
}
==============================================================
【程序34】
题目:练习函数调用
1. 程序分析:
2.程序源代码:
#include
void hello_world(void)
{
printf("Hello, world!\n");
}
void three_hellos(void)
{
int counter;
for (counter = 1; counter 《= 3; counter++)
hello_world();/*调用此函数*/
}
void main(void)
{
three_hellos();/*调用此函数*/
}
==============================================================
【程序35】
题目:文扰伍本颜色设置
1.程序分析:
2.程序源代码:
#include
void main(void)
{
int color;
for (color = 1; color 《 16; color++)
{
textcolor(color);/*设置文本颜色*/
cprintf("This is color %d\r\n", color);
}
textcolor(128 + 15);
cprintf("This is blinking\r\n");
}
==============================================================
【程序36】
题目:求100之内的素数
1.程序分析:
2.程序源代码:
#include
#include "math.h"
#define N 101
main()
{
int i,j,line,a;
for(i=2;ifor(i=2;i for(j=i+1;j {
if(a!=0)
if(a==0)
a=0;}
printf("\n");
for(i=2,line=0;i{
if(a!=0)
{printf("]",a);
line++;}
if(line==10)
{printf("\n");
line=0;}
}
}
==============================================================
【程序37】
题目:对10个数进行排序
1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,
下次类推,即用第二个元素与后8个进行比较,并进行交换。
2.程序源代码:
#define N 10
main()
{int i,j,min,tem,a;
/*input data*/
printf("please input ten num:\n");
for(i=0;i{
printf("a=",i);
scanf("%d",&a);}
printf("\n");
for(i=0;iprintf("]",a);
printf("\n");
/*sort ten num*/
for(i=0;i{min=i;
for(j=i+1;jif(a) min=j;
tem=a;
a;
a=tem;
}
/*output data*/
printf("After sorted \n");
for(i=0;iprintf("]",a);
}
==============================================================
【程序38】
题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a累加后输出。
2.程序源代码:
main()
{
float a,sum=0;
int i,j;
printf("please input rectangle element:\n");
for(i=0;i《3;i++)
for(j=0;j《3;j++)
scanf("%f",&a);
for(i=0;i《3;i++)
sum=sum+a;
printf("duijiaoxian he is %6.2f",sum);
}
==============================================================
【程序39】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后
此元素之后的数,依次后移一个位置。
2.程序源代码:
main()
{
int a={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("original array is:\n");
for(i=0;i《10;i++)
printf("]",a);
printf("\n");
printf("insert a new number:");
scanf("%d",&number);
end=a;
if(number》end)
a=number;
else
{for(i=0;i《10;i++)
{ if(a》number)
{temp1=a;
a=number;
for(j=i+1;j《11;j++)
{temp2=a;
a=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i《11;i++)
printf("m",a);
}
==============================================================
【程序40】
题目:将一个数组逆序输出。
1.程序分析:用第一个与最后一个交换。
2.程序源代码:
#define N 5
main()
{ int a={9,6,5,4,1},i,temp;
printf("\n original array:\n");
for(i=0;i printf("M",a);
for(i=0;i {temp=a;
a;
a=temp;
}
printf("\n sorted array:\n");
for(i=0;i printf("M",a);
}
【程序41】
题目:学习static定义静态变量的用法
1.程序分析:
2.程序源代码:
#include "stdio.h"
varfunc()
{
int var=0;
static int static_var=0;
printf("\40:var equal %d \n",var);
printf("\40:static var equal %d \n",static_var);
printf("\n");
var++;
static_var++;
}
void main()
{int i;
for(i=0;i《3;i++)
varfunc();
}
==============================================================
【程序42】
题目:学习使用auto定义变量的用法
1.程序分析:
2.程序源代码:
#include "stdio.h"
main()
{int i,num;
num=2;
for (i=0;i《3;i++)
{ printf("\40: The num equal %d \n",num);
num++;
{
auto int num=1;
printf("\40: The internal block num equal %d \n",num);
num++;
}
}
}
==============================================================
【程序43】
题目:学习使用static的另一用法。
1.程序分析:
2.程序源代码:
#include "stdio.h"
main()
{
int i,num;
num=2;
for(i=0;i《3;i++)
{
printf("\40: The num equal %d \n",num);
num++;
{
static int num=1;
printf("\40:The internal block num equal %d\n",num);
num++;
}
}
}
==============================================================
【程序44】
题目:学习使用external的用法。
1.程序分析:
2.程序源代码:
#include "stdio.h"
int a,b,c;
void add()
{ int a;
a=3;
c=a+b;
}
void main()
{ a=b=4;
add();
printf("The value of c is equal to %d\n",c);
}
==============================================================
【程序45】
题目:学习使用register定义变量的方法。
1.程序分析:
2.程序源代码:
void main()
{
register int i;
int tmp=0;
for(i=1;i《=100;i++)
tmp+=i;
printf("The sum is %d\n",tmp);
}
==============================================================
【程序46】
题目:宏#define命令练习(1)
1.程序分析:
2.程序源代码:
#include "stdio.h"
#define TRUE 1
#define FALSE 0
#define SQ(x) (x)*(x)
void main()
{
int num;
int again=1;
printf("\40: Program will stop if input value less than 50.\n");
while(again)
{
printf("\40:Please input number==》");
scanf("%d",#);
printf("\40:The square for this number is %d \n",SQ(num));
if(num》=50)
again=TRUE;
else
again=FALSE;
}
}
==============================================================
【程序47】
题目:宏#define命令练习(2)
1.程序分析:
2.程序源代码:
#include "stdio.h"
#define exchange(a,b) { \ /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上"\"*/
int t;\
t=a;\
a=b;\
b=t;\
}
void main(void)
{
int x=10;
int y=20;
printf("x=%d; y=%d\n",x,y);
exchange(x,y);
printf("x=%d; y=%d\n",x,y);
}
==============================================================
【程序48】
题目:宏#define命令练习(3)
1.程序分析:
2.程序源代码:
#define LAG 》
#define SMA 《
#define EQ ==
#include "stdio.h"
void main()
{ int i=10;
int j=20;
if(i LAG j)
printf("\40: %d larger than %d \n",i,j);
else if(i EQ j)
printf("\40: %d equal to %d \n",i,j);
else if(i SMA j)
printf("\40:%d smaller than %d \n",i,j);
else
printf("\40: No such value.\n");
}
==============================================================
【程序49】
题目:#if #ifdef和#ifndef的综合应用。
1. 程序分析:
2.程序源代码:
#include "stdio.h"
#define MAX
#define MAXIMUM(x,y) (x》y)?x:y
#define MINIMUM(x,y) (x》y)?y:x
void main()
{ int a=10,b=20;
#ifdef MAX
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#else
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#endif
#ifndef MIN
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#else
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#endif
#undef MAX
#ifdef MAX
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#else
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#endif
#define MIN
#ifndef MIN
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#else
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#endif
}
==============================================================
【程序50】
题目:#include 的应用练习
1.程序分析:
2.程序源代码:
test.h 文件如下:
#define LAG 》
#define SMA 《
#define EQ ==
#include "test.h" /*一个新文件50.c,包含test.h*/
#include "stdio.h"
void main()
{ int i=10;
int j=20;
if(i LAG j)
printf("\40: %d larger than %d \n",i,j);
else if(i EQ j)
printf("\40: %d equal to %d \n",i,j);
else if(i SMA j)
printf("\40:%d smaller than %d \n",i,j);
else
printf("\40: No such value.\n");
}
【程序51】
题目:学习使用按位与 & 。
1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a&3;
printf("\40: The a & b(decimal) is %d \n",b);
b&=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序52】
题目:学习使用按位或 | 。
1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a|3;
printf("\40: The a & b(decimal) is %d \n",b);
b|=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序53】
题目:学习使用按位异或 ^ 。
1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a^3;
printf("\40: The a & b(decimal) is %d \n",b);
b^=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序54】
题目:取一个整数a从右端开始的4~7位。
程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0《《4)
(3)将上面二者进行&运算。
2.程序源代码:
main()
{
unsigned a,b,c,d;
scanf("%o",&a);
b=a》》4;
c=~(~0《《4);
d=b&c
printf("%o\n%o\n",a,d);
}
==============================================================
【程序55】
题目:学习使用按位取反~。
1.程序分析:~0=1; ~1=0;
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=234;
b=~a;
printf("\40: The a’s 1 complement(decimal) is %d \n",b);
a=~a;
printf("\40: The a’s 1 complement(hexidecimal) is %x \n",a);
}
==============================================================
【程序56】
题目:画图,学用circle画圆形。
1.程序分析:
2.程序源代码:
/*circle*/
#include "graphics.h"
main()
{int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=0;i《=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
}
==============================================================
【程序57】
题目:画图,学用line画直线。
1.程序分析:
2.程序源代码:
#include "graphics.h"
main()
{int driver,mode,i;
float x0,y0,y1,x1;
float j=12,k;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(GREEN);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i《=18;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
j=j+10;
}
x0=263;y1=275;y0=263;
for(i=0;i《=20;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0+5;
y0=y0+5;
y1=y1-5;
}
}
==============================================================
【程序58】
题目:画图,学用rectangle画方形。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
#include "graphics.h"
main()
{int x0,y0,y1,x1,driver,mode,i;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i《=18;i++)
{
setcolor(1);
rectangle(x0,y0,x1,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
}
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(150,40,"How beautiful it is!");
line(130,60,480,60);
setcolor(2);
circle(269,269,137);
}
==============================================================
【程序59】
题目:画图,综合例子。
1.程序分析:
2.程序源代码:
# define PAI 3.1415926
# define B 0.809
# include "graphics.h"
#include "math.h"
main()
{
int i,j,k,x0,y0,x,y,driver,mode;
float a;
driver=CGA;mode=CGAC0;
initgraph(&driver,&mode,"");
setcolor(3);
setbkcolor(GREEN);
x0=150;y0=100;
circle(x0,y0,10);
circle(x0,y0,20);
circle(x0,y0,50);
for(i=0;i《16;i++)
{
a=(2*PAI/16)*i;
x=ceil(x0+48*cos(a));
y=ceil(y0+48*sin(a)*B);
setcolor(2); line(x0,y0,x,y);}
setcolor(3);circle(x0,y0,60);
/* Make 0 time normal size letters */
settextstyle(DEFAULT_FONT,HORIZ_DIR,0);
outtextxy(10,170,"press a key");
getch();
setfillstyle(HATCH_FILL,YELLOW);
floodfill(202,100,WHITE);
getch();
for(k=0;k《=500;k++)
{
setcolor(3);
for(i=0;i《=16;i++)
{
a=(2*PAI/16)*i+(2*PAI/180)*k;
x=ceil(x0+48*cos(a));
y=ceil(y0+48+sin(a)*B);
setcolor(2); line(x0,y0,x,y);
}
for(j=1;j《=50;j++)
{
a=(2*PAI/16)*i+(2*PAI/180)*k-1;
x=ceil(x0+48*cos(a));
y=ceil(y0+48*sin(a)*B);
line(x0,y0,x,y);
}
}
restorecrtmode();
}
==============================================================
【程序60】
题目:画图,综合例子。
1.程序分析:
2.程序源代码:
#include "graphics.h"
#define LEFT 0
#define TOP 0
#define RIGHT 639
#define BOTTOM 479
#define LINES 400
#define MAXCOLOR 15
main()
{
int driver,mode,error;
int x1,y1;
int x2,y2;
int dx1,dy1,dx2,dy2,i=1;
int count=0;
int color=0;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,"");
x1=x2=y1=y2=10;
dx1=dy1=2;
dx2=dy2=3;
while(!kbhit())
{
line(x1,y1,x2,y2);
x1+=dx1;y1+=dy1;
x2+=dx2;y2+dy2;
if(x1《=LEFT||x1》=RIGHT)
dx1=-dx1;
if(y1《=TOP||y1》=BOTTOM)
dy1=-dy1;
if(x2《=LEFT||x2》=RIGHT)
dx2=-dx2;
if(y2《=TOP||y2》=BOTTOM)
dy2=-dy2;
if(++count》LINES)
{
setcolor(color);
color=(color》=MAXCOLOR)?0:++color;
}
}
closegraph();
}

求几道C语言题的答案

答案如下:
二、
1. 2012
(功能:将字符型数据转换成整形数据);
2. num=311, score=93
(功能:找出最高分及相应的编号);
3. 1 3 5 7 9
(功能:是找出输入数据中的奇数);
4. yes
no
(功能:判断输入的数是否为素数);
5. 1
(vc6.0中运行得到此结果,不同的编译器会有不同);
6. 1024
(功能:求2的n次方);
7. 63
85
(功能:取字符串的的部分字符组成整形数据);
8.(11):d=1.0
(12):k++
(13):k《=n
9. (14):i《=y
(15):z*x
10. xabcdBCD
11.1024
(功能:跟第6题一样);
三、
1. i++
2. j《=i
3. a
注:题目中大量代码都有错误,以上答案均是以“代码有意义”为基础进行考虑的。

初中C语言经典例题

1、求1+2+3+4+5+......+n
2、求1*2*3*4*5*......*n
3、求菲波拉契数列第n项(菲波拉契数列满足:A1 = 1;A2 = 1;An = An-1 + An-2(n》=3);
4、判断一个数能否分成两个合数的积
5、求两个数的最大公约数;
6、这是高中信息学奥林匹克竞赛2004年的复赛第一题,不过蛮简单的,推介做一下:
津津的储蓄计划
(save.c)
【问题描述】
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。
为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。
例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。
津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。
现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。
【输入文件】
输入文件save.in包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。
【输出文件】
输出文件save.out包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。
【样例输入1】
290
230
280
200
300
170
340
50
90
80
200
60
【样例输出1】
-7
【样例输入2】
290
230
280
200
300
170
330
50
90
80
200
60
【样例输出2】
1580
数列基本:
1、找最大数:
找一组数中的最大数;
2、排序:
将N个数从小到大排列;
3、搜索:
在一个数列中找到一个数,并将其删除。
字符串处理相关:
1、解一元一次方程(该方程被直接作为字符串读入):
-x+3x-18-9x+37-9x-1=2x+3-x
综合:
这里也同样给出一道题,尽可能优化程序效率:
合并果子
(fruit.c)
【问题描述】
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。
每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。
因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。
例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。
【输入文件】
输入文件fruit.in包括两行,第一行是一个整数n(1《=n《=10000),表示果子的种类数。第二行包含n个整数,用空格分隔,第i个整数ai(1《=ai《=20000)是第i种果子的数目。
【输出文件】
输出文件fruit.out包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输入数据保证这个值小于231。
【样例输入】
3
1 2 9
【样例输出】
15
【数据规模】
对于30%的数据,保证有n《=1000:
对于50%的数据,保证有n《=5000;
对于全部的数据,保证有n《=10000。

几道C语言题目,我没分了,希望你们能帮助我,感谢

1. char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。 (2分) 1. True
2. 两个字符串中的字符个数相同时才能进行字符串大小的比较 (2分) 2. False
3. 如果想使一个数组中全部元素的值为0,可以写成 int a={0*10}; (2分) 3. True
4. char c="Very Good"; 是一个合法的为字符串数组赋值的语句。 (2分) 4. True
5. 取地址运算符&与指针运算符*的优先级相同,结合方向为自右向左。 (2分) 5. True
6. 在二维数组中,行指针是指向一维数组的指针变量. (2分) 6. True
7. 程序进行编译时,不为形式参数分配存储空间. (2分) 7. True
8. 在语句int *p;和语句printf("%d",*p);中的*p含义相同。 (2分) 8. False
9. 对二维数组a来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。 (2分) 9. False
10. 用gets函数可以接收一个含有空格的字符串。 (2分) TRUE
若有说明:int i,j=7,*p=&i则与i=j;等价的语句是___B___。 (2分)
A. i=*p; B. *p=*&j C. i=&j D. i=**p; A B C D 2.
有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;} while(p!=12345&&n《3);
此处do-while循环的结束条件是____A__。 (2分)
A. p的值不等于12345并且n的值小于3
B. p的值等于12345并且n的值大于等于3
C. p的值不等于12345或者n的值小于3
D. p的值等于12345或者n的值大于等于3
A B C D 3.
若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是___D___。 (2分)
A. p=q; B. *p=*q; C. n=*q; D. p=n; A B C D 4.
有以下程序
void fun(char *a, char *b)
{ a=b; (*a)++; }
main()
{ char c1=’A’,c2=’a’,*p1,*p2;
p1=&c1 p2=&c2 fun(p1,p2);
printf("%c%c\n",c1,c2);
}
程序运行后的输出结果是____A____ (2分)
A. Ab B. aa C. Aa D. Bb A B C D 5.
有以下程序
void ss(char *s,char t)
{while(*s)
{if(*s==t) *s=t-’a’+’A’;
s++;
}
}
main()
{char str1="abcddfefdbd",c=’d’;
ss(str1,c); printf("%s\n",str1);
}
程序运行后的输出结果是___B___。 (2分)
A. ABCDDEFEDBD B. abcDDfefDbD C. abcAAfefAbA D. Abcddfefdbd A B C D 6.
为了判断两个字符串s1和s2是否相等,应当使用 (2分) D
A. if (s1= =s2) B. if (s1=s2) C. if ( strcpy (s1,s2)) D. if ( strcmp( s1,s2)= =0 ) A B C D 7.
有如下程序段
int *p,a=10,b=1;
p=&a a=*p+b;
执行该程序段后,a的值为___B___。 (2分)
A. 12 B. 11 C. 10 D. 编译出错 A B C D 8.
若有定义:int *p;,则以下叙述中正确的是____B____ (2分)
A. 定义了一个基类型为int的指针变量p,该变量具有三个指针
B. 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C. 定义了一个名为*p的整型数组,该数组含有三个int类型元素
D. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
A B C D 9.
说明语句"int ( * p ) ;"的含义是 (2分) D
A. p是一个指向一维数组的指针变量
B. p是指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
A B C D 10.
已知:char b , *p=b; 则正确的赋值语句是 (2分) C
A. b="abcd"; B. *b="abcd"; C. p="abcd" ; D. *p="abcd";

C语言题目要详解!!!

首先你要知道判断是否是闰年的标准:
能被4整除但不能被100整除,或者,能被400整除
满足以上条件为闰年。
在此基础上,再去看题目
#include 《stdio.h》
void main()
{
int year,leap;
scanf("%d",&year);//输入年份
if (year%4==0)//能被4整除
{
if(year%100==0)//又能被100整除
{
if(year%400==0)//能被400整除
{
leap=1;//综合意思即是,能被400整除,令leap=1
}
else
{
leap=0;//能被4整除,又能被100整除,同时又不满足第二个判断闰年的方法,leap=0
}
}
else
{
leap=1;//能被4整除,不能被100整除
}
}
else
{
leap=0;//不能被四整除
}
if (leap)//如果leap=1,就能执行这一部分
{
printf("%d is ",year);
}
else
{
printf("%d is not ",year);
printf("a leap year.\n");
}
}

大学福音经典编程题适用于专升本

C语言100道适用专升本超有用

1.十进制数转任意进制数

2.数字三角形

3,编程求某年第 n 天的日期。

4.求周岁

5.编程求出使该算式成立时的这两个数

6.功能:(较难不用看) 编程求任意给两个日期(年 月日)相差的天数。

7.把一个数的二进制奇数位和偶数位交换

8.题目要求找出数组中的两个单身狗

9,数字字符串转换为整数

10.升序的数组插入一个数,还保持升序

11.输入年月判断该月多少天

12 .遍历法求名次

13.谁是凶手

14.输入一个整数数组,实现一个函数,来调整数组中的奇数和偶数的位置,奇数在前偶数在后

15.1元一瓶汽水,两个空瓶可以换一瓶,问20元可以喝多少瓶

16.打印一个菱形,输如n的打印2*n -1行的菱形

17.输入一个整数找出紧跟在他后面的素数 

18.计数求和,Sn=2+22+222+2222+22222

19.输入两个数求最小公倍数和最大公因数,代码中有详解

20.一个数 +100之后是完全平方数,+168还是一个完全平方数

21.数字金字塔

22.字符串左旋

23. 要求:写一个函数判断一个字符串是否是另一个字符串旋转后得到的

24.给数组删除重复的元素

25.C语言编程题求1! + 2! + 3! + 4!....+N

26.C语言编程题求斐波那契数(循环法与递归法

27.C语言编程输入n,k求n的k次幂(递归与非递归)

28.(递归)输入一个数,把他的每一位相加在输出出来;

29,实现函数把字符数组的元素逆序 如“abc“,逆序成“cba“

30.递归拆分整数

31.设计以函数打印乘法口诀表

32构造一函数判断是否为素数100-200之间(只能被自己和1整除的数)

33.打印二进制数的奇数位和偶数位;分别打印二进制序列

34.计算M和N二进制中不同的位数,例如 1和7 有两位不同;

35输出1900到2000之间的所有闺年

36,猴子吃桃问题

37.选择排序法 升序排列

38.冒泡排序法

39.求3*3矩阵对角元素的和

40.把整数数组中的元素值逆序存放

41.杨辉三角形

42.折半查找---必须建立在有序的数组中

43,计算3行80个字符 的类型个数

44.原文与密码

45模拟strcat字符串连接函数

46.模拟strlen(3种方法)

47模拟strcmp

48.模拟字符串拷贝函数strcpy

49.strncpy的模拟

50.strncat模拟实现

51模拟strncmp

52.(较难些可以不看)模拟寻找子串的函数strstr

53.内存拷贝函数

54.判断一个数是不是素数:

53.3*3矩阵的转置

56任何比2大的偶数,总能表示两个素数

57.输入四位数字输出四个字符

58.把a数组的内容拷贝到b数组每拷贝三个放1个*

59.输入一串字符串把其中最长的字母拷贝放到另一个数组

60.16进制转换位10进制

61.输入10个整数,最大的和最后一个位置上的交换最小的和最前面的那个交换

62.报数问题n个人从1报数到3,每次报数到3的那个元素被清空

63.输入多个字符串,排序后输出

64.(难可不看)输入一个字符串,将连续的数字字符串放到另一个二维数组中

65.结构体指针问题

66.三天打鱼两天晒网,第 N 天是打鱼还是晒网?

67.输入多个字符串,然后输出最短的字符串

68.3 个数,有两个数一样, 找另一个数

69.有 1000 人捐款, 捐到 10 万就停止捐款。 统计捐款人数和总额

70.指定位置字符串逆序

71.水仙花数

72.求素数因子

73.判断一个数是不是完全平方数?

74.蠕虫问题

75.结构体排序学生情况

76.求一元二次方程的根, ax 方+bx + c=0,ab,c 自己输入

77.累加100--999之间个位数为7的素数女78斐波那契兔子

78迭代求平方根

79.累加二维数组边缘元素的和

80.逗号表达式方面小题

81.白马百担问题

82.八进制转10进制

83.func(func(x++,y++),func(--x,--y));函数调用问题

84.水手分桃子

85挖素数

86.两个有序递增 的数组存到另一个数组还是有序的

87.把字符串中的空格去掉女88.将b字符串的内容插入到a字符串,a字符串保持升席

89.用递归的方法把字符串逆序

90分解质因数

91.10进制转16进制

92.10进制转8进制

93.计算并输出n以内10个最大素数的和

94.完数

95打印X型图案

96.打印空心正方形

97.判断一个数组是否有序

98.整形数组删除指定的数字

99.给字符数组每个元素中间添加一个空格

100.旋转字符

101.求sinx近似值

c语言经典100题,要过程

您好,c语言经典100题:
【程序1】
题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数
都是多少
1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去
掉不满足条件的排列.
2.程序源代码:
main()
{
int
i,j,k;
printf("\n");
for(i1;i《5;i++)
/*以下为三重循环*/
for(j1;j《5;j++)
for
(k1;k《5;k++)
{
if
(i!k&&i!j&&j!k)
/*确保i,j,k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}
【程序2】
题目:企业发放的奖金根据利润提成.利润(i)低于或等于10万元时,奖金可提10%;利润高
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数
1.程序分析:请利用数轴来分界,定位.注意定义时需把奖金定义成长整型.
2.程序源代码:
main()
{
long
int
i;
int
bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1100000*0.1;bonus2bonus1+100000*0.75;
bonus4bonus2+200000*0.5;
bonus6bonus4+200000*0.3;
bonus10bonus6+400000*0.15;
if(i《100000)
bonusi*0.1;
else
if(i《200000)
bonusbonus1+(i-100000)*0.075;
else
if(i《400000)
bonusbonus2+(i-200000)*0.05;
else
if(i《600000)
bonusbonus4+(i-400000)*0.03;
else
if(i《1000000)
bonusbonus6+(i-600000)*0.015;
else
bonusbonus10+(i-1000000)*0.01;
printf("bonus%d",bonus);
}
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果.请看具体分析:
2.程序源代码:
#include
"math.h"
main()
{
long
int
i,x,y,z;
for
(i1;i2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("it
is
the
%dth
day.",sum);}
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
main()
{
int
day,month,year,sum,leap;
printf("\nplease
input
year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
{
case
1:sum0;break;
case
2:sum31;break;
case
3:sum59;break;
case
4:sum90;break;
case
5:sum120;break;
case
6:sum151;break;
case
7:sum181;break;
case
8:sum212;break;
case
9:sum243;break;
case
10:sum273;break;
case
11:sum304;break;
case
12:sum334;break;
default:printf("data
error");break;
}
sumsum+day;
/*再加上某天的天数*/
if(year%4000||(year%40&&year%100!0))/*判断是不是闰年*/
leap1;
else
leap0;
if(leap1&&month》2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It
is
the
%dth
day.",sum);}
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出.
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x》y则将x与y的值进行交换,
然后再用x与z进行比较,如果x》z则将x与z的值进行交换,这样能使x最小.
2.程序源代码:
main()
{
int
x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if
(x》y)
{tx;xy;yt;}
/*交换x,y的值*/
if(x》z)
{tz;zx;xt;}/*交换x,z的值*/
if(y》z)
{ty;yz;zt;}/*交换z,y的值*/
printf("small
to
big:
%d
%d
%d\n",x,y,z);
}
【程序6】
题目:用*号输出字母c的图案.
1.程序分析:可先用’*’号在纸上写出字母c,再分行输出.
2.程序源代码:
#include
"stdio.h"
main()
{
printf("hello
c-world!\n");
printf("
****\n");
printf("
*\n");
printf("
*
\n");
printf("
****\n");
}
【程序7】
题目:输出特殊图案,请在c环境中运行,看一看,very
beautiful!
1.程序分析:字符共有256个.不同字符,图形不一样.
2.程序源代码:
#include
"stdio.h"
main()
{
char
a176,b219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);}
【程序8】
题目:输出9*9口诀.
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列.
2.程序源代码:
#include
"stdio.h"
main()
{
int
i,j,result;
printf("\n");
for
(i1;i《10;i++)
{
for(j1;j《10;j++)
{
resulti*j;
printf("%d*%d%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
【程序9】
题目:要求输出国际象棋棋盘.
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.
2.程序源代码:
#include
"stdio.h"
main()
{
int
i,j;
for(i0;i《8;i++)
{
for(j0;j《8;j++)
if((i+j)%20)
printf("%c%c",219,219);
else
printf("
");
printf("\n");
}
}
【程序10】
题目:打印楼梯,同时在楼梯上方打印两个笑脸.
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数.
2.程序源代码:
#include
"stdio.h"
main()
{
int
i,j;
printf("\1\1\n");/*输出两个笑脸*/
for(i1;i《11;i++)
{
for(j1;j《i;j++)
printf("%c%c",219,219);
printf("\n");
}
}
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
1.程序分析:
兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
main()
{
long
f1,f2;
int
i;
f1f21;
for(i1;i《20;i++)
{
printf("%12ld
%12ld",f1,f2);
if(i%20)
printf("\n");/*控制输出,每行四个*/
f1f1+f2;
/*前两个月加起来赋值给第三个月*/
f2f1+f2;
/*前两个月加起来赋值给第三个月*/
}
}
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数.
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数.
2.程序源代码:
#include
"math.h"
main()
{
int
m,i,k,h0,leap1;
printf("\n");
for(m101;m《200;m++)
{
ksqrt(m+1);
for(i2;i《k;i++)
if(m%i0)
{leap0;break;}
if(leap)
{printf("%-4d",m);h++;
if(h%100)
printf("\n");
}
leap1;
}
printf("\nthe
total
is
%d",h);
}

OK,关于c语言例题100道附解析和C语言的题的内容到此结束了,希望对大家有所帮助。

c语言例题100道附解析(C语言的题)

本文编辑:admin

更多文章:


应用程序菜单在哪(电脑的应用程序在哪里)

应用程序菜单在哪(电脑的应用程序在哪里)

大家好,关于应用程序菜单在哪很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于电脑的应用程序在哪里的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月15日 14:10

sumproduct函数计数方法(计数公式是什么)

sumproduct函数计数方法(计数公式是什么)

其实sumproduct函数计数方法的问题并不复杂,但是又很多的朋友都不太了解计数公式是什么,因此呢,今天小编就来为大家分享sumproduct函数计数方法的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 11:50

linux系统的特性(Linux系统的主要特点是什么)

linux系统的特性(Linux系统的主要特点是什么)

大家好,关于linux系统的特性很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Linux系统的主要特点是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月15日 10:50

知名女星孙侨璐于跨年夜,心梗猝死,年仅25岁!一一一写给年轻人?1月2日演员孙侨潞离世,说好的来日方长转眼就是别离

知名女星孙侨璐于跨年夜,心梗猝死,年仅25岁!一一一写给年轻人?1月2日演员孙侨潞离世,说好的来日方长转眼就是别离

其实演员孙侨潞的问题并不复杂,但是又很多的朋友都不太了解知名女星孙侨璐于跨年夜,心梗猝死,年仅25岁!一一一写给年轻人,因此呢,今天小编就来为大家分享演员孙侨潞的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 10:40

mariadb忘记密码(mysql用户密码忘记了怎么办)

mariadb忘记密码(mysql用户密码忘记了怎么办)

大家好,mariadb忘记密码相信很多的网友都不是很明白,包括mysql用户密码忘记了怎么办也是一样,不过没有关系,接下来就来为大家分享关于mariadb忘记密码和mysql用户密码忘记了怎么办的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月15日 07:50

mysql端口号(如何查看自己数据库的端口号)

mysql端口号(如何查看自己数据库的端口号)

“mysql端口号”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看mysql端口号(如何查看自己数据库的端口号)!

2026年10月15日 06:30

printf打印16进制(C语言 十六进制怎么输出)

printf打印16进制(C语言 十六进制怎么输出)

大家好,今天小编来为大家解答以下的问题,关于printf打印16进制,C语言 十六进制怎么输出这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 06:00

avantage怎么设置为中文(Avantage安装丢失GIT)

avantage怎么设置为中文(Avantage安装丢失GIT)

大家好,如果您还对avantage怎么设置为中文不太了解,没有关系,今天就由本站为大家分享avantage怎么设置为中文的知识,包括Avantage安装丢失GIT的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月15日 03:00

ospf协议的作用是什么(OSPF路由协议的作用是什么)

ospf协议的作用是什么(OSPF路由协议的作用是什么)

“ospf协议的作用是什么”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看ospf协议的作用是什么(OSPF路由协议的作用是什么)!

2026年10月15日 02:40

方案对比特效js(在一个网页中如何实现两个JS特效)

方案对比特效js(在一个网页中如何实现两个JS特效)

各位老铁们好,相信很多人对方案对比特效js都不是特别的了解,因此呢,今天就来为大家分享下关于方案对比特效js以及在一个网页中如何实现两个JS特效的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 02:10

最近更新

热门文章

标签列表