C语言设计题目指导
你好,要的颜晖c语言程序设计实验与习题指导第3版答案,我私信已经发送给你。
记得好评和采纳。
你的采纳是我前进的动力。
#include
#include
char *cmp(int aver, int bver)
{
int a[4], b[4];
int i, j, A = 0, B = 0;
char str[5];
a[0] = aver % 10; //拆分成四位
a[1] = aver / 10 % 10;
a[2] = aver / 100 % 10;
a[3] = aver / 1000;
b[0] = bver % 10;
b[1] = bver / 10 % 10;
b[2] = bver / 100 % 10;
b[3] = bver / 1000;
for(i = 0; i < 4; i ++)
for(j = 0; j < 4; j++)
{
if(a[i] == b[j])
if(i == j)
A ++;
else
B ++;
}
sprintf(str, "%dA%dB\0", A, B); //合成字符串返回
return str;
}
void main()
{
int a, b, i;
char str[5], str1[5];
char *s = str, *s1 = str1;
char *str2 = "4A0B"; //要找到基准数,即当打印结果为 4A0B 结束
int sum = 0; //统计使用对比数个数
printf("Please input number a: ");
scanf("%d", &a);
while(1)
{
printf("Please input number b: ");
scanf("%d", &b);
sum ++;
memcpy(s, cmp(a, b), 5);
printf("%s
", s);
printf("%s
", s);
if(memcmp(str2, s, 5) == 0) //match成功则跳出循环,结束程序
break;
printf("The sequence K : ")
for(i = 1000; i < 10000; i++)
{
memcpy(s1, cmp(b, i), 5);
if(memcmp(s, s1, 5) == 0)
{
printf("%d
", i); //将序列k输出,如果不想页面跳得太快,可以使用printf("%d ", i);
}
}
}
printf("Total match time: %d
", sum);
}
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;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);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(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 (i=1;i<100000;i++)
{ x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("\n%ld\n",i);
}
}
==============================================================
【程序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:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&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)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;}/*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;}/*交换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 a=176,b=219;
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 (i=1;i<10;i++)
{ for(j=1;j<10;j++)
{
result=i*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(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
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(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf("%c%c",219,219);
printf("\n");
}
}
.:.:经典c程序100例==11--20 :.:.
经典c程序100例==11--20
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n");/*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
}
==============================================================
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
2.程序源代码:
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m<=200;m++)
{ k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
==============================================================
【程序13】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
==============================================================
【程序14】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
2.程序源代码:
/* zheng int is divided yinshu*/
main()
{
int n,i;
printf("\nplease input a number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n!=i)
{
if(n%i==0)
{ printf("%d*",i);
n=n/i;
}
else
break;
}
}
printf("%d",n);}
==============================================================
【程序15】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,
60分以下的用C表示。
1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
2.程序源代码:
main()
{
int score;
char grade;
printf("please input a score\n");
scanf("%d",&score);
grade=score>=90?'A':(score>=60?'B':'C');
printf("%d belongs to %c",score,grade);
}
==============================================================
【程序16】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
2.程序源代码:
main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:\n");
scanf("%d,%d",&num1,&num2);
if(num1<num2)/*交换两个数,使大数放在num1上*/
{ temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",num1*num2/a);
}
==============================================================
【程序17】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.
2.程序源代码:
#include "stdio.h"
main()
{char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some characters\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}
==============================================================
【程序18】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
共有5个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
main()
{
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}
==============================================================
【程序19】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。
1. 程序分析:请参照程序<--上页程序14.
2.程序源代码:
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{ n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
for(i=0;i<N;I++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
==============================================================
【程序20】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第10次落地时,共经过多少米?第10次反弹多高?
1.程序分析:见下面注释
2.程序源代码:
main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn;/*第n次落地时共经过的米数*/
hn=hn/2; /*第n次反跳高度*/
}
printf("the total of road is %f\n",sn);
printf("the tenth is %f meter\n",hn);
}
.:.:经典c程序100例==21--30:.:.
经典c程序100例==21--30
【程序21】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
==============================================================
由于题目太多共一百题,抱歉……慢慢消化对你有提高的,发现题目中的闪光点可以做笔记。如果你想迅速提高C水平的话就买几套二级C笔试部分练它十几套,你会很有成就感。编程要有心计。
针对C语言功力测试题的详细讲解及有力分析 发表于: 星期二 六月 13, 2006 13:12 PM
int x=35;
char str[10];
//问:strlen(str)和sizeof(str)的值分别是多少?
// strlen(str) 值不确定,strlen根据’\0’确定字符串是否结束。
// sizeof(str)=10 sizeof一个数组为数组长度
strcpy(str,"www.it315.org"/*共13个字母*/);
//问:此时x和strlen(str)的值分别是多少?
// x 为35
// strcpy(char* dest, const char* src)
// 根据src来复制dest,依照src的’\0’决定复制的长度,而dest必须要提供足够的长度,这里会引起溢出,strlen返回13,但是数组外部的数据已经被破坏
str="it315.org";//编译能通过吗?
// 数组不能赋值,只能初始化。char str[10] = "it315.org";
// 而且初始化时编译器会检查数组的长度与初始化串的长度是否匹配
char *pstr;
strcpy(pstr,"http://www.it315.org);
//上句编译能通过吗?运行时有问题吗?
// 可以通过编译,但是pstr指向了常量区,运行时最好只做读操作,写操作不保险
const char *p1;
char * const p2;
//上面两句有什么区别吗?
// const char* 和 char const* 一样,都是表示指向常量的字符指针。
// char * const 表示指向字符的常量指针
p1=(const char *)str;
//如果是p1=str;编译能够通过吗?明白为什么要类型转换?类型转换的本质是什么?
// 可以通过编译。关于常量与非常量指针的关系是这样的:
// const指针可以指向const或者非const区域,不会造成什么问题。
// 非const指针不能指向const区域,会引起错误。
strcpy(p1,"abc");//编译能够通过吗?
// 不能通过,strcpy( char*, const char*); char* 不能指向const char*
printf("%d",str);//有问题吗?
// 没有问题,输出的是str的地址信息。
pstr=3000;//编译能过吗?如果不行,该如何修改以保证编译通过呢?
// 不能通过,char* pstr表示pstr是个字符指针,不能指向3000的整形变量。
// 修改的话,可以这样:pstr = (char*)3000,把pstr指向3000这个地址;
long y=(long)pstr;//可以这样做吗?
// 可以,y的值为pstr所指的地址。不过如果是纯粹要地址的话,最好是用unsigned
long。
int *p=str;
*p=0x00313200;
printf("%s",str);//会是什么效果?提示0x31对应字符’1’,0x32对应字符’2’。
// 首先编译未必会过关,有些编译器可能不允许int * 直接指向char*。最好是改为int *p = (int*)str;
// 过关了效果就是什么东西都没有。int *p=str; p为str所指的地址,*p表示修改了str所指向的内存。
// 由于sizeof(int)在32位机上,int有4个字节(其实具体要看编译器的配置文件,好像是limit.h,一般是4个字节)所以修改了str[0]-str[3]
// 由于0x00313200头尾都是0,所以字符串为’\0’开头,什么都打印不出来。这里有个Big-endin和little-endin的问题。以0x31323334为例
// little-endin的机器上面,0x31323334在内存中排列顺序为34 33 32 31,输出为4321,如INTEL芯片的pc
// big-endin机器上面为31 32 33 34 ,输出为1234,如IBM POWERPC
针对C语言功力测试题的讲解分析
来源:考试大 [ 2006-05-22 16:20:59 ] 责任编辑:水自流
p=3000;//p+1的结果会是多少?
// 3000+sizeof(int); 指针+1均为原来地址加上sizeof(指针所指的数据类型)
char *pc=new char[100];//上述语句在内存中占据几个内存块,怎样的布局情况?
// 本身pc会占用函数栈一个4字节的指针长度(具体是否为4个字节要看机器和编译器)。
// new会在堆上申请100个字节sizeof(char)的连续空间。
void test(char **p)
{
*p=new char[100];
}//这个编译函数有问题吗?外面要调用这个函数,该怎样传递参数?
// 该程序没有问题。需要在函数中对指针所指的地址进行变化是必须传人指针的地址。
// 原因是这样的:如果传入的为指针本身,在函数调用的时候,实参会被复制一个实例,这样就不是原来的指针了,对该指针本身进行的任何改变都不能传递回去了。
// 可以这样理解,如果传入的参数为int,那么对int本身的值的改变就传不回去啦,加个*也是一样的。
//能明白typedef int (*PFUN)(int x,int y)及其作用吗?
// 定义了一个函数指针类型的宏,这样PFUN就表示指向返回值为int,且同时带2个int参数的函数指针类型了。
// 可以用来定义这样的变量:
// 比如有个函数为int fun( int x, int y );
// PFUN p = fun;
补充:
第二题:
其他编译器下没试,但在VC++环境下,x的值是要改变的.虽然表面上看来,在程序中并没有修改x的值,但是实际运行的结果是上面的x的值发生了修改,这是因为strcpy以后,把多余的数据拷贝进了str的邻居(int类型的x)中,所以x的数据也就变了.这是一个曾让我刻骨铭心的问题,在我刚出道时遇到这个问题,虽然在朋友的帮助下解决了这个问题,但一直不明白x的值为何变了,只有最后走上培训教师的岗位,才开始梳理自己曾经的困惑,才开始总结以前的经验供学员们借鉴.我觉得这个题目的价值非常之大,它能引起学员对字符串拷贝越界问题的足够重视,并且通过这个问题更能明白字符串的处理是怎么回时,更能明白字符串与字符数组的关系:字符串就是一个字符数组,只是把这个字符数组用在处理串的函数中时,这些函数不考虑数组的长度,只是记住数组的首地址,从首地址开始处理,并在遇到0时
结束处理,
最后一题:
函数指针最大的用处在于它可以被一个模板方法调用,这是我在学java的设计模式时领悟到的.例如,有两个函数的流程结构完全一致,只是内部调用的具体函数不同,如下所示:
void func1()
{
//一段流程代码和面向方面的代理,如安全检查,日志记录等
int sum = add( x , y);
//一段流程代码和面向方面的代理,如安全检查,日志记录等
}
void func2()
{
//与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
int difference = sub( x , y);
//与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
}
那么,可以只定义一个函数,如下所示
void func(PFUNC p)
{
//与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
int difference = p( x , y);
//与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
}
调用程序在调用时,让参数p分别指向add和sub函数就可以了.
http://www.renhenet.com/group/viewtopic.php?t=8942
去百度网页上输入:C语言编程的题目详细讲解,搜索就行了,有很多的
c语言程序设计实验报告实用命题有哪些
《高级语言程序设计》课程设计 实验报告 题目:贪吃蛇 (大家最好不要去网上找了,我没找到)(贪吃蛇的c语言程序我已经有了,只要大家给我一份报告书就可以了!)专业:计算机 班级: 软件 姓名:成绩:指导教师:完成日期:2008年09月23日 一、目的 1. 进一步掌握和利用C语言进行程设计的能力...
高分求助一道C语言设计题 不难!!
1、题目:词汇统计器2、设计内容及要求: 内容:统计任意的文本文件中指定的一组词汇出现的次数及位置。文本文件中存放的可以为英文文章。要求有程序 最好还有比较详细的设计分析,我c语言很不好,所以最好有详细的分析,行的话会追加不少分的!!由于还要交一份报告 所以要有设计思路分析等~!!好的话还会加分~!!拿分...
c语言程序设计 题目一道,求解
恩,只写出思考过程,编码很简单。把12只球分为这三组球分别编号为 A组、B组、C组。首先,选任意的两组球放在天平上称。例如,我们把A、B两组放在天平上称。这就会出现两种情况:第一种情况,天平两边平衡。那么,不合格的坏球必在c组之中。其次,从c组中任意取出两个球 (例如C1、C2)来,分别...
C语言程序设计题目(急)
include <stdio.h> \/\/ 不使用递归的 f 函数 double f(double x, int n) { double result = 0;int sign = 1;for (int i = 0; i < n; i++) { result += sign * x;x *= x;sign = -sign;} return result;} \/\/ 使用递归的 Rf 函数 double Rf(double x, int n) { if ...
怎么用C语言设计这个题目:从键盘输入任意多个整数(-999为结束标志),计...
include <stdio.h> void main(){ int n=0,sum=0;printf("Please input the number end with -999:");while(n!=-999){ scanf("%d",&n);if(n>0)sum=sum+n;} printf("%d\\n",n);} 这是C++版的,
C语言设计问题!
C语言设计问题!最近老是留了一道结课前大题!我也不是计算机专业的学生,有点头疼!不!应该是全班都头疼!想看看哪位大哥大姐帮着弄一下,积分送上!感谢!题目:设学生信息中包括学号姓名性别及三... 最近老是留了一道结课前大题!我也不是计算机专业的学生,有点头疼!不!应该是全班都头疼!想看看哪位大哥大姐帮着...
求高人解决一道C语言课程设计题
要求:1、用C语言实现系统;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分 。2、实验总结报告:流程图、主要源程序代码(需打印...
一些C语言程序设计题目~求牛人解答~跪谢!~~
题一:include<stdio.h> include<ctype.h> main(){ FILE *file1,*file2;char alp;if((file1=fopen("text.txt","r"))==NULL||(file2=fopen("result.txt","w"))==NULL)printf("文件打开失败");else{ fscanf(file1,"%c",&alp);while(!feof(file1)){ if(alp>='a'&&alp<='z...
C语言程序设计题目:编写模拟同学排队打饭程序
代码: #include"stdio.h"include"stdlib.h"include"conio.h"include"string.h"include"io.h"define ESC 27 define ENTER 13 define Y 89 define y 121 define N 78 define n 110 void vmenu1();char choose();void password();char *getps();void mimam();void build();void save();...
C语言程序设计题目:学生信息管理系统设计
已经按你的要求改写并调试通过了。调试环境win-tc和Dev-c++.这是我在以前帮别人写的学生成绩管理系统的基础上改写的,学生信息用文件保存,从文件读入。同时为了简化起见,没有使用链表,容易理解。程序还具有很强的判断验错功能。对本题算法很简单,就是一个函数strcmp().其中student.dat内容如下,你...
夹鹏百普: #include<stdio.h>#include<stdlib.h>#include<string.h>#define N 400000#define L 6#define BUFF_LEN 150 void insert(char *s); int find(char *s); int num=0,root=0,cid=0; struct Trie { int id; int cnt; int next[27]; }tree[N]; int main() { FILE *fp1; int i,sl,...
龙港区18760068365: c语言的一个题目求指导?
夹鹏百普: 可以一个一个比,你不是要排序,只要找到最大的那个数就可以了. 核心代码如下 (数据类型) temp; temp=a[0]; for(i=1;i<10;i++) if(temp<a[i]) temp=a[i]; 最后temp保存的就是最大数.
龙港区18760068365: C语言程序设计题目帮忙答一下3、 题型:单选题 分值:12C语言程序编译时,程序中的注释部分( ). 选项1: 参加编译,并会出现在目标程序中 选项2: ... - ?
夹鹏百普:[答案] 选项4: 不参加编译,也不会出现在目标程序中\* 和 *\ 数据定义语句序列 和 执行语句序列 若干个函数 主函数main 函数
龙港区18760068365: c语言 题目 指点下 - ?
夹鹏百普: 输出是 1 考察循环 第一次i=0,于是ch[i]就是'1' s = s * 10 + '1' - '0' 于是 s=1 第二次i=2,ch[i]就是'a',不满足ch[i]
龙港区18760068365: C程序设计题,求指导 - ?
夹鹏百普: #include void main(){ int n,m,len=0,reverse=0; scanf("%d", m=n; while(m) { len++; reverse=reverse*10+m%10; m/=10;...
龙港区18760068365: C语言程序设计题目求指导! 题目:对于以下几个函数:?
夹鹏百普: #include <stdio.h> int main() { int x,y; switch(x) { case -1:; case -2:; case -3:; case-4:y=x;break; case 0:y=x-1;break; case 1:; case 2:; case 3:; case 4:; case 5:; case 6:; case 7:; case 8:; case 9:y=x+1;break; default:; } if(x>-5&&x<0) y=x;elseif(x=0) y=x-1;else if(x>0&&x<10) y=x+1; return 0; }
龙港区18760068365: c语言程序设计问题问题:输出2到N之间的质数.问题分析:要求输出2到N之间的质数,程序需要做的就是从2开始依次找,判断是否是质数,若是则打印... - ?
夹鹏百普:[答案] 关键是要有思路.质数是只能被1和自己整除.也就是说从1开始到它本身整除的次数只能是两次,超过两次的都不是质数.外层循环2到N,内层循环从1到数的本身.计数器等于2就打印.记得计数器重置.书籍推荐C Primer Plus,值得拥有. #...
龙港区18760068365: C语言题目,大神指点啊~~~ - ?
夹鹏百普: int main() { int a,b; float x,y=0; printf("请输入a、b的值:"); scanf(”%d %d“,&a,&b); printf("请输入x的值:"); scanf("%f",&x); if(x>=0.5&&x<1.5) y=a+b*x; else if(x<2.5) y=a-b*x; else if(x<3.5) y=a*b*x; else if(x<4.5) y=a/b*x; else printf("输入超出范围!"); pintf("\ny=%f",y); system("pause"); return 0; }
龙港区18760068365: C语言的题目,希望高手解答,小弟在此感谢感谢啦! - ?
夹鹏百普: #include "stdio.h" #include "math.h" #include "dos.
龙港区18760068365: c语言程序设计(c语言) 题目 步骤 - ?
夹鹏百普: //找最大值啊, 所以结果当然是232啦!这道题用二分法求数组的最大值.他的实现思想是这样的, 每次都把数组分成两组( 就是t1, t2, t1是前半部分, t2是后半部分), 递归调用自身求最大值; 每次调用自身又将已经分成两组的两个数组分成两...