导航:首页 > 编程语言 > cprimer编程练习答案

cprimer编程练习答案

发布时间:2022-05-29 16:38:23

㈠ 跪求C primer plus(第五版)中文版 编程练习 第二章第六题 答案

#include<stdio.h>
void smile(int n)
{
for(int i =0;i<n;i++)
printf("Smile!");
}
main()
{
smile(3);printf("\n");
smile(2);printf("\n");
smile(1);printf("\n");
}

㈡ c++ primer plus 第五章 编程练习 第七题

vc6.0上完全可以运行没有错误!
运行结果:
Enter words (to stop, type the word done):
完全可以运行
done
You entered a total of 1 words.
请按任意键继续. . .

cin>> word;这个word接收的字符是遇到空格回车等就判断为一个单词并赋值给word。
如果你要用cin.get()的稍显麻烦。首先cin.get()也可以接收字符串,但不太适用你的情况,忽略。
cin.get()形参为空的时候就是一个一个字符读取。并且可以接收空格或者回车,可以这么判断 if(cin.get() == '\t' || cin.get() == '\n')
但是: 1、你的结束条件要修改,因为他只能接受一个字符,所以结束条件改为一个字符不要用done。或者干脆遇到空格(\t)判断一个单词,遇到回车(\n)为结束。
2、如果连续输入两个或两个以上空格的情况你要考虑,不要判断为两个或两个以上的单词.
总体来说cin.get()程序要稍复杂一点

㈢ c primer plus(第五版)编程练习全部答案

我只有第四版的(书和习题答案) 要的话给我你的邮箱吧 给你邮过去 呵呵

㈣ C primer plus 编程练习第8章第8题

#include<stdio.h>
int main(void)
{

double f_num, s_num;
char choice,cTemp;
char n[20];

printf("Enter the operation of your choice:\n");
printf("a. add s. subtract\n");
printf("m. multiply d. divide\n");
printf("q. quit\n");

while( scanf("%c", &choice) == 1 && choice != 'q')
{
switch(choice)
{
case 'a':
printf("Enter first number: ");
while(scanf("%lf",&f_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("Enter second number: ");
while(scanf("%lf",&s_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("\nPlease enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("%g + %g = %g", f_num, s_num, f_num + s_num);
break;
case 's':
printf("Enter first number: ");
while(scanf("%lf",&f_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("Enter second number: ");
while(scanf("%lf",&s_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("%g - %g = %g", f_num, s_num , f_num - s_num);
break;
case 'm':
printf("Enter first number: ");
while(scanf("%lf",&f_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("Enter second number: ");
while(scanf("%lf",&s_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("%g * %g = %g", f_num, s_num , f_num * s_num);
break;
case '\n':
continue; // importance
case 'd':
printf("Enter first number: ");
while(scanf("%lf",&f_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
printf("Enter second number: ");
while(scanf("%lf",&s_num)!=1)
{
while((cTemp=getchar())!='\n')putchar(cTemp);
printf(" is not an number.");
printf("Please enter a number ,such as 2.5, -1.78E8, or 3:");
}
while(s_num ==0)
{
printf("Enter a number other than 0:");
scanf("%lf", &s_num);
}
printf("%g / %g = %g", f_num, s_num , f_num / s_num);
break;
default:
printf("please input a , s , m , d or q to quit");
}

printf("\nEnter the operation of your choice:\n");
printf("a. add s. subtract\n");
printf("m. multiply d. divide\n");
printf("q. quit\n");

}

return 0;
}
我修改过后测试通过,主要是你在输入确认是数字还是英文的时候处理的不好。还有你可以把第一个数和第二个数定义为数组,这样用一个循环输入会使代码减少很多,不然看起很重复。

㈤ c primer plus 编程练习

第13题?比较arr[i][j]和上下左右四个相邻的元素就是了,如果之间的差不是全部大于1就不用动,否则用边上那四个的平均值代替arr[i][j]就是了,注意一下边角的情况即可
...看看下面这个程序能用不
void fun(int arr[][30])
{
int round;
int i,j,flag1,flag2,flag3,flag4,num1,num2,num3,num4;
for(i=0;i<20;i++)
for(j=0;j<30;j++)
{
round=4;//表示该元素周围的元素个数,1,2,3,4
if(i==0)//考虑处于第一行的情况
{
num1=0;//求平均数的时候用
flag1=1;//相差是否大于1的标志
round--;
}
else
{
num1=arr[i-1][j];
flag1=(abs(arr[i][j]-num1)>1?1:0);
}
if(j==0)
{
num2=0;
flag2=1;
round--;
}
else
{
num2=arr[i][j-1];
flag2=(abs(arr[i][j]-num2)>1?1:0);
}
if(j==29)
{
num3=0;
flag3=1;
round--;
}
else
{
num3=arr[i][j+1];
flag3=(abs(arr[i][j]-num3)>1?1:0);
}
if(i==19)
{
num4=0;
flag4=1;
round--;
}
else
{
num4=arr[i+1][j];
flag4=(abs(arr[i][j]-num4)>1?1:0);
}
if(flag1 && flag2 && flag3 && flag4)
{
arr[i][j]=(int)((float)(num1+num2+num3+num4)/round+0.5);//四舍五入
}
}
}

㈥ 求C Primer Plus第二章编程练习题第七题答案

#include <stdio.h>
void one_three();
void two();
int main()
{
printf("starting now:\n");
one_three();
printf("done!\n");
return 0;
}
void one_three()
{
printf("one\n");
two();
printf("three\n");
}
void two()
{
printf("two\n");
}

㈦ C primer plus 编程练习答案

发了,第五版的,不知道是不是你要的。TXT格式,有点乱。

㈧ C语言问题《C Primer Plus》第四章编程练习(第六版)

这是《C Primer Plus》第四章编程练习(第六版)4.8.5的练习题:

参考代码如下:

#include<stdio.h>

intmain(void){
floatdownloadSpeed,fileSize;
printf("Pleaseinputyourdownloadspeed(Mb/s):");
scanf("%f",&downloadSpeed);
printf("Pleaseinputyoufilesize(Mb):");
scanf("%f",&fileSize);
printf("At%.2fmegabitspersecond,afileof%.2fmegabytes ",downloadSpeed,fileSize);
printf("downloadin%.2fseconds. ",fileSize*8/downloadSpeed);
}

执行结果如下:

㈨ C++ primer plus第六版中文版课后编程练习答案

您好,以下只是一部分:
注释:这些程序是唐刀在学习的时候编写的,其中可能存在错误和不足,大家做个参考就好。
1.
#include<iostream>#include<cctype>intmain(){
usingnamespacestd;
cout<<"请输入字符,@符号结束"<<endl;charch;
while(cin.get(ch)&&ch!='@'){
if(isalpha(ch))//如果ch是字母{
if(isupper(ch))//如果ch是大写字母{
cout<<char(tolower(ch));}else//如果ch是小写字母{
cout<<char(toupper(ch));//转换为大写字母然后输出}
}
elseif(!isdigit(ch))
//非数字非字母则原样输出
cout<<ch;
else
continue;}
return0;
具体的,您还要到这里看看:http://blog.csdn.net/qq844352155
网友自己写的
基本都有,陆续更新中。

阅读全文

与cprimer编程练习答案相关的资料

热点内容
可编程软件分为哪两种 浏览:340
格林什么app可以看 浏览:697
飞卢app仙侠热卖推荐怎么样 浏览:722
飞秋上传文件到共享文件夹 浏览:691
服务器的共享文件夹如何访问 浏览:232
复盛螺杆压缩机讲解 浏览:332
柱在基础插筋需要加密吗 浏览:80
51单片机中断寄存器 浏览:65
压缩文件后有病毒怎么办 浏览:618
苹果ipad怎么登安卓王者账号 浏览:862
街头足球服务器已满是什么意思 浏览:462
androidspeex回音消除 浏览:133
加密会议什么意思 浏览:34
ubuntu命令行联网 浏览:7
37选7中奖概率及算法 浏览:593
加密狗哪个版本好 浏览:619
cisco命令手册 浏览:502
omp算法c 浏览:129
上海浦东机场源码 浏览:885
扣扣加密了忘记密码如何打开 浏览:508