c语言作业
① c语言作业
如果有什么不明白的或者我编错的,帮我提出来哈。我是个新手。
#include<stdio.h>
void main()
{
long i;
float b1,b2,b4,b6,b10,b;
scanf("%ld",&i);
b1=100000*0.1;
b2=b1+100000*0.075;
b4=b2+200000*0.05;
b6=b4+200000*0.03;
b10=b6+400000*0.015;
if(i<=100000)
b=i*0.1;
else if(i<=200000)
b=b1+(i-100000)*0.075;
else if(i<=400000)
b=b2+(i-200000)*0.05;
else if(i<=600000)
b=b4+(i-400000)*0.03;
else if(i<=1000000)
b=b6+(i-600000)*0.015;
else
b=b10+(i-1000000)*0.01;
printf("b=%10.2f",b);
}
用switch语句:
#include<stdio.h>
void main()
{
long i;
float b,b1,b2,b4,b6,b10;
int branch;
/*初始化变量*/
b1=100000*0.1;
b2=b1+100000*0.075;
b4=b2+200000*0.05;
b6=b4+200000*0.03;
b10=b6+400000*0.015;
scanf("%ld",&i);
branch=i/100000;
if(branch>10)
branch=10;
switch(branch)
{
case 0: b=i*0.1;break;
case 1: b=b1*(i-100000)*0.075;break;
case 2:
case 3: b=b2+(i-200000)*0.05;break;
case 4:
case 5: b=b4+(i-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9: b=b6+(i-600000)*0.015;break;
case 10: b=b10+(i-1000000)*0.01;
}
printf("b=%10.2f",b);
}
第二题:
#include<stdio.h>
void main()
{
int n,indiv,ten,hundred,thousand;
printf("输入一个四位数字:");
scanf("%d",&n);
thousand=n/1000;
hundred=n%100/10;
ten=n%100/10;
indiv=n%10;
printf("thousand=%d,hundred=%d,ten=%d,indiv=%d\n",thousand,hundred,ten,indiv);
printf("\n");
}
第三题:
#include<stdio.h>
void main()
{
int t,a,b,c,d;
printf("请输入4个数:");
scanf("%d,%d,%d,%d,",&a,&b,&c,&d);
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if(a>b)
{
t=a;a=b;b=t;
}
if(a>c)
{
t=a;a=c;c=t;
}
if(a>d)
{
t=a;a=d;d=t;
}
if(b>c)
{
t=b;b=c;c=t;
}
if(b>d)
{
t=b;b=d;d=t;
}
if(c>d)
{
t=c;c=d;d=t;
}
printf("排序结果如下: ");
printf("%d %d %d %d\n",a,b,c,d);
}
② C语言作业
【写语言】专业写c语言大作业,c语言写项目做项目!c语言软件开发!所有c语言定制项目!在线写c语言大作业,在线接单!!研究生团队,开发周期短,效率高!!
③ c语言作业 要完整的!!
#include<stdio.h>
void main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
if (i%10==7)
continue;
sum+=i;
}
printf("%d\n",sum);
}
④ C语言作业
给你发消息了
⑤ c语言作业
C语言循环语句有三种:for,while,do-while....
我们先定义公共的变量做初始,循环的要求是i<=30:
int main(){
int i=2;
//下面语句三选一
while语句
while(i<=30)
{
if(i%4==0) printf("%d\r\n",i);
i++;
}
do-while语句
do
{
if(i%4==0) printf("%d\r\n",i);
i++;
}while(i<=30);
for语句
for(;i<=30;i++)
{
if(i%4==0) printf("%d\r\n",i);
}
return 0;
}
⑥ C语言作业
将那个大写字母加上32就行了。
⑦ C语言作业。。。
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如: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");
}
⑧ C语言作业
#include <string.h>
#include <stdio.h>
#define N 10
#define M 81
void sortString(char str[][M],int m)
{
int i,j,n;
char temp[M];
for(i=0;i!=m-1;i++)
{
for(j=i+1;j!=m;j++)
{
if(strlen(str[i])>strlen(str[j]))
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
else if(strlen(str[i])==strlen(str[j])&&strcmp(str[i],str[j])>0)
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
}
}
int judgeString(char str[])
{
int i;
for(i=0;i!=strlen(str)/2;i++)
if(str[i]!=str[strlen(str)-1-i]) return 0;
return 1;
}
int main()
{
char str[N][M],str1[N][M];
int i=0,j,n,m=0;
do
{
gets(str[i++]);
}while(strlen(str[i-1])!=0);
i=i-1;
for(j=0;j!=i;j++)
{
n=judgeString(str[j]);
if(n==1) strcpy(str1[m++],str[j]);
}
if(m==0)
{
printf("None.");
getchar();
return 0;
}
sortString(str1,m);
for(i=0;i!=m;i++)
printf("%s\n",str1[i]);
getchar();
return 0;
}
⑨ C语言作业
#include <stdio.h>
int main()
{
char a[18] //未加“;"
int sum=0,i;
gets(a); //
for(i=1;i<=18;i++) //i从1开始,那么a[0]怎么办?
{
sum=a[i]*a[i]; /*a[i]是字符型数据,如果这样相乘,就用ASCIII码,比如a[i]=‘0’,那么计算时就是48;所以这样做显然是不对的,这里不对,那么以下的思路就不行了*/
sum+=a[i];
a[18]=sum/11; //你这是要改变a里面的数据?看不懂。
if(a[18]>9)
a[18]='Y';
if(a[i]=a[i]*a[i]&&a[i]=sum+a[i]&&a[18]=sum/11)
printf("yes"); //要有回车,就要用“yes\n";
else
printf("no"); //同上
}
以下程序编译通过,正确,你可以仔细看一下做法:
#include <stdio.h>
int main()
{
char a[18];
int i,k,last,sum=0,flag=1;
gets(a);
for(i=0;i<17;i++)
{
sum+=(a[i]-'0')*(i+1);
}
printf("%d\n",sum);
k=sum%11;
printf("%d\n",k);
if(a[17]=='Y')
last=10;
else
last=a[17]-'0';
for(i=0;i<17;i++)
{
if(a[i]<'0'||a[i]>'9')
{
flag=0;
break;
}
}
if(k!=last)
flag=0;
if(flag==1)
printf("yes\n");
else
printf("no\n");
}
⑩ c语言作业
1.下列选项中,不能用作标识符的是( d )
A _12_ B _1_2 C int_2_ D 2_int_
因为标志符是以 下划线 和字母 开头,故C是错的。
.下面哪个是C的关键字( d )
A define B void C INT D printf
里面的A是预编译用的,是宏命名的,不是一个句子
如 define n 5,她不是一个句子,故不是什么关键字;
c是错的应该是int;b错是因为它表示的只是返回时的函数类型,没有也行的
如void mian 没有Void也是一样的,不影响主函数的正确,只是返回值变了空3.
下列正确的转义字符是( c )
A.''' B.'\97' C.'\0xab' D.'\\'
普通字符是字母或其他的如;'s';
转义字符是以个字符,她有好多字符构成,别吓到了.A是错的怎么''',也就是说字符是 ’;这个不是字符吧,她的AssII码好像是超过了吧;
B的是表示8进制的,但是 9>8 故错的,c 才是对的,她是16进制,她的字母都都在a<c<F之间故是对的
4.0x20U是( d )
A.整型常量 B.字符型常量 C.浮点型常量 D.非法常量
按照上题目的意,U>F,过了表示的范围了,故错.
0x200等值的数为( b )
A.0512 B.512 C.01024 D.1024
等于=2*16*16,数值就是512
6.表达式23/3%3的值是( A )
A.1 B.2 C.3 D.0
优先级一样,23/3=7,7%3=1;
7.
假设 int x=5,n=5; 则执行表达式x += ++n后x的值是 ( C ).
A.6 B.5 C.11 D.10
++n表示的是先加,后用,即先(n+1)
,后用n,此时n变了;即:x=x+(++n)=5+6=11;
.已知int a,b; float c; 则错误的表达式语句是( C )
A.a=c+b; B.b+=a ; C.a=int (c); D.a=1,b=2;
此题是考察对赋值的认识,A和B是实质一样的,虽然a,b的类型和c不一样,但是 计算会自己吧啊,a,b,c转换成double 型;D也是正确的赋值短语,c应该是这样强制转换的a=(int)c
9 下列运算符中优先级最高的是( c )
A.<= B.&& C.-> D.=+
不太记得了,还是找书吧;我给一个C概率大点
10. 设a,b,c为int型变量,且a=3, b= 4, c=5,下面表达式值为0的是( B )
A. 'a' && 'b' B.a>b C.a || b+c && b-c D.b<c
B中a>b是假的,
11. 合法的C语言表达式是( B)
A. a+=58 B. (i+j)++ C.a=58; b=58 D.k = int(a+b);
答:A是没有分号。c也是,B表示的对,她表示的是(i+j),然后是(i+j)=(i+j)+1;是对的;
12. 下列浮点型常数表示形式非法的是( )
A.327. B.1.48e4 C..5E-10 D.0x2.1e4
答:可能是D
13. 已知char ch; 则错误的赋值语句是( d)
A.ch='\0'; B.ch='1'+'2'; C.ch='a+b'; D.ch=10+5;
为什么呢?A是对的,是表示换行;B也是对的,两个同种类型的可以相加减,实际就是对应的ASii码的的加减;d错在ch是字符型的,而10+5是整型,故错