早先年考研的主考科目正是【算法与数据结构】,复习得还算可以。也在当时[百度知道]上回答了许多相关问题,现把他们一起汇总整理一下,供读者参考。


【1】

原题目地址:https://zhidao.baidu.com/question/1574956570322831900.html?entry=qb_uhome_tag

题目:

C语言的题目,求大神来看看

小学生算术学习系统。不断的从键盘输入两个整数级一个运算符(+-*/)之一,并输入计算结果。若计算结果正确,则显示“很好,做对了。”负责献世“做错了,再做一次“。系统规定,只能输入三次答案。当第三次输入答案任然错误时,系统将显示正确答案。本系统要求有”是否继续”的提示,用户输入“y”,表示继续,输入“n”表示结束

答:

#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <stdlib.h> int main()
{
int a,b,Suan;
int sum; //用户输入答案
int C; //正确答案
int D; //正确余数
int yu = 0; //输入的余数
int t = 0; //开关变量(求余数)
int i = 3;
int temp = NULL;
char Insert = NULL;
srand(time(NULL)); Q: a = rand()%100;
b = rand()%100;
Suan = rand()%100;
t = 0;
if(Suan <=25)
{
C = a+b;
printf("%d+%d=? :\n",a,b);
temp = 1;
D = 0;
yu = 0;
}
else if(Suan > 26 && Suan <= 50)
{
C = a-b;
printf("%d-%d=? :\n",a,b);
temp = 2;
D = 0;
yu = 0;
}
else if(Suan > 50 && Suan <= 75)
{
C = a*b;
printf("%d*%d=? :\n",a,b);
temp = 3;
D = 0;
yu = 0;
}
else if(Suan > 75 && Suan <= 100)
{
C = a/b;
D = a%b;
t = 1;
printf("%d/%d=? (商):\n",a,b);
temp = 4;
}
A: if(5 == temp)
{
printf("%d+%d=? :\n",a,b);
}
if(6 == temp)
{
printf("%d-%d=? :\n",a,b);
}
if(7 == temp)
{
printf("%d*%d=? :\n",a,b);
}
if(8 == temp)
{
printf("%d/%d=? (商):\n",a,b);
} if(temp <= 4)
{
temp++;
temp++;
temp++;
temp++;
} scanf("%d",&sum);
if(t == 1)
{
printf("余数多少:");
scanf("%d",&yu);
} printf("\n---------------------\n"); if(C == sum && D == yu)
printf("很好,做对了。\n");
else
{
if(1 != i)
{
printf("做错了,再做一次!(你还有%d次机会)\n",i-1);
i--;
goto A;
}
else
{
if(t == 0)
printf("做错了!正确答案是 %d!\n",C);
else
{
printf("做错了!正确答案(商)是 %d!\n",C);
printf("(余数)是 %d!\n",D);
}
//i = 3;
} }
i = 3;
printf("-----------------------------------------------\n");
printf("是否继续<y/n>:\n"); P: scanf("%c",&Insert);
if('y' == Insert)
goto Q;
if('n' == Insert)
exit(-1);
else
{
Insert = NULL;
goto P;
} system("pause");
return 0;
}

【2】

原题目地址:https://zhidao.baidu.com/question/1495135027232307579.html?entry=qb_uhome_tag

题目:

求解c语言指针问题

#include<stdio.h>
#include<conio.h>
#define N 2
#define M 4 double *calculate1(double (*p)[M], double *p1) {
int i, j;
double s=0;
for (j=0; j<M; j++) {
for (i=0; i<N; i++) {
s+=*(*p+j);
p++;
}
for (i=0; i<N; i++) p--;
*(p1+j)=s;
s=0;
}
p1=p1-M;
return p1;
}
void main() {
int m;
double score[N][M]={0, 1, 2, 3, 4, 5, 6, 7}, sbj[M], (*p)[M]=score, *p1=sbj;
p1=calculate1(p, p1);
for (m=0; m<M; m++) printf("\n第%d科总分为%.1lf\n", m+1, *(p1+m));
}

score[N][M]表示N个学生的M门科目的成绩,算出各科的总分

为什么结果是这样

答:

#include<stdio.h>
#include<conio.h>
#include <windows.h>
#define N 2
#define M 4
void calculate(double (*p)[M],double *p1)
{
int i,j;
double s=0;
/*for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%f\t",*(*(p+i)+j));
}
putchar(10);
}*/
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
//printf("%f\t",*(*(p+j)+i));
s+=*(*(p+j)+i);
}
*(p1+i)=s;
s=0;
}
return;
}
int main()
{
int m;
double score[N][M]={0,1,2,3,4,5,6,7},sbj[M],
(*p)[M]=score,*p1=sbj;
calculate(p,p1);
for(m=0;m<M;m++)
printf("\n第%d科总分为%.1lf\n",m+1,*(p1+m)); system("pause");
return 0;
}

我读不懂你的程序,很多都不需要的。你可以参照我写的!有问题可以追问!

【3】

原题目地址:https://zhidao.baidu.com/question/1895405030720891420.html?entry=qb_uhome_tag

题目:

求C语言大神助攻解决这几道问题



答:


/*******/
/***1***/
/*******/
#include<stdio.h>
#include <windows.h> int Judge(char a[],char b[])
{
int i,j;
for(i=0,j=0; a[i]!='\0' ; i++,j++)
{
if(a[i] == b[j])
continue;
if(a[i] > b[j])
return 1;
if(a[i] < b[j])
return -1;
}
return 0;
} int main()
{
int m = NULL;
char str1[5] = "abc";
char str2[5] = "abb";
puts(str1);
putchar(10);
puts(str2);
m = Judge(str1,str2); if(m == 1)
printf("[>]\n");
else if(m == -1)
printf("[<]\n");
else
printf("[=]\n"); system("pause");
return 0;
} ////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////// /*******/
/***2***/
/*******/ #include<stdio.h>
#include <windows.h> int main()
{ float sum = 1.0;
int ss;
int s=1,s1=1;
printf("sum=1/1");
while(1.0/s >= 1e-6)
{
sum += 1.0/s;
printf(" +1/%d",s);
ss = s1;
s1 = s;
s += ss; }
sum += 1.0/s;
printf(" +1/%d",s);
printf(" = %f\n",sum); system("pause");
return 0;
} ////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////// /*******/
/***3***/
/*******/ #include<stdio.h>
#include <windows.h> void Func(int a[][4])
{
int i,j,t = 0;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
if(a[j][i] > 0)
t++;
}
if(t>=1)
{
printf("%d\n",i);
t = 0;
}
}
return;
} int main()
{
int a[4][4];
int i,j;
for(i=0; i<4; i++)
for(j=0; j<4; j++)
scanf("%d",&a[i][j]); for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%d\t",a[i][j]);
putchar(10);
} putchar(10);
Func(a); system("pause");
return 0;
} /*******/
/***4***/
/*******/ #include <stdio.h>
#include <windows.h> void Connect(char a[],char b[],char c[])
{
int i,j;
for(i=0; a[i]!='\0'; i++)
c[i] = a[i];
for(j=0; b[j]!='\0'; j++)
c[i++] = b[j];
c[i]='\0';
return;
} int main()
{
int m = NULL;
char str1[5] = "abc";
char str2[10] = "bcde";
char str3[20];
printf("str1=");
puts(str1);
putchar(10);
printf("str2=");
puts(str2);
putchar(10);
Connect(str1,str2,str3);
printf("str3=");
puts(str3); system("pause");
return 0;
} ////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////// /*******/
/***5***/
/*******/ #include<stdio.h>
#include <windows.h> int main()
{
int i;
float sum=0;
double f1=1.0,f2=1.0,t;
printf("sum=");
while(sum<=100.0)
{
sum += f1/f2;
printf(" +%f/%f",f1,f2);
t=f2;
f2=f2+f1;
f1=t;
}
printf("= %.2f\n",sum); system("pause");
return 0;
} ////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////// /*******/
/***6***/
/*******/ #include<stdio.h>
#include <windows.h> void Func(int a[][4])
{
int i,j,t = 0;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
if(a[i][j] > 0)
t++;
}
if(t>=1)
{
printf("%d\n",i);
t = 0;
}
}
return;
} int main()
{
int a[4][4];
int i,j;
for(i=0; i<4; i++)
for(j=0; j<4; j++)
scanf("%d",&a[i][j]); for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%d\t",a[i][j]);
putchar(10);
} putchar(10);
Func(a); system("pause");
return 0;
}

请你叫我雷锋,帮你做了这么多题!有问题欢迎追问!

(哈哈,当时心情肯定不错,帮忙做了那么多题目,啊哈哈~)

有关C++程序设计基础的各种考题解答参考汇总的更多相关文章

  1. 内存布局------c++程序设计基础、编程抽象与算法策略

    图中给出了在一个典型c++程序中如何组织内存的框架.程序中的指令(在底层都是按位存储的).全局变量.静态对象和只读常量往往被存储在静态去(static area)(第二个图中的数据段.代码段.值得注意 ...

  2. C语言程序设计基础

    C语言程序设计基础 目录 C语言 C语言基础 C语言编程注意 C语言 C语言基础 C语言编程注意 0<9<9和0<9&&9<9是不同的 数组的声明和定义 con ...

  3. C#程序设计基础——常量

    C#程序设计基础——常量 常量是在编译时已知,并且在程序的生存期内不发生更改的不可变值.常量使用const修饰符进行声明. 常量必须在声明时初始化,且常量的类型必须为以下类型之一:sbyte/byte ...

  4. Oracle数据库之PL/SQL程序设计基础

    PL/SQL程序设计基础 一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ ...

  5. 学而精计算机公共基础学习之路TEST2(程序设计基础)

    程序设计基础 程序设计方法与风格 1.程序设计方法 程序设计: 指设计.编制.调试程序的方法和过程. 程序设计方法是研究问题求解如何进行系统构造的软件方法学.常用的程序设计方法有:结构化程序设计方法. ...

  6. C语言程序设计基础-第1周作业-初步

    1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...

  7. 谈谈书本《c#物联网程序设计基础》中的技术瑕疵,如果你将要读本书,请进来看看!

    今天去书店看到一本名为<c#物联网程序设计基础>的书,对物联网感兴趣的我抓起来就看,书中的项目都是上位机开发项目,较简单,如果物联网开发只是这样,看起来我做物联网开发也是绰绰有余.这边书我 ...

  8. 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)

    [原创 Hadoop&Spark 动手实践 9]SparkSQL程序设计基础与动手实践(上) 目标: 1. 理解Spark SQL最基础的原理 2. 可以使用Spark SQL完成一些简单的数 ...

  9. 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)

    [原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...

  10. C语言程序设计基础知识点概括

    C语言程序设计基础知识点概括 C语言程序设计基础知识点1.函数是C语言的基本构成单位.main函数是C语言程序的唯一入口.2.C语言程序开发过程. 编译过程:将以.c或.cpp结尾的源程序文件经过编译 ...

随机推荐

  1. 【杂谈】如何选择:Session 还是 JWT?

    服务端如何验证客户端已经登录? 在用户成功登录后,服务端会发放一个凭证.之后,客户端的每次请求都需要携带该凭证,服务端通过验证凭证的有效性来判断用户是否已登录,并处理请求. 以下是 Session 和 ...

  2. 腾讯云对象存储 COS 荣获对象存储领导力奖!!!

    亚太内容分发大会暨 CDN 峰会一直致力于推动 CDN 产业深度融合发展和市场普及,现已成为亚太地区影响力最大的内容分发网络盛会. 十年来,在以腾讯云.阿里云.网宿科技等亚太 CDN 产业联盟成员孜孜 ...

  3. Mplus数据分析:分段潜增长模型,看jama如何玩转纵向数据的轨迹

    今天给大家介绍分段潜增长模型的原理和做法,之前我有给大家写增长混合和潜增长,它们的主要的局限在于轨迹都是连续的不能分段,在于对phasic的现象把握其实还是不够的,比如儿童认知的发展,按照理论,它是可 ...

  4. 【C#】【平时作业】习题-13-数据类型

    目录 1. 什么是 ArrayList ,如何存放数据? 2. 什么 Queue ,如何存放数据? Queue 类的方法和属性 3. 什么 Stack ,如何存放数据? 4. 什么 Hashtable ...

  5. Docker学习笔记(一) - Docker安装

    1.安装yum-utils yum install yum-utils device-mapper-persistent-data lvm2 复制 安装yum-utils是为方便添加yum源使用的,d ...

  6. Qt编写视频监控管理平台(支持海康/大华/宇视/华为/天地伟业/H264/H265等)

    一.前言 海康大华等厂家自己的客户端软件,基本上都是支持自家的设备,不支持其他家的摄像机和硬盘录像机,并不是因为技术上做不到,这些大厂要实现支持兼容其他的家的(他们家的服务端或者收费的都是支持其他家的 ...

  7. Qt编写地图综合应用58-兼容多浏览器内核

    一.前言 miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件.其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blin ...

  8. 手写 PromiseA+ 实现,轻松通过 872 条用例

    手写 Promise/A+ 实现,轻松通过 872 条用例 规范参考:Promise/A+ 规范 - 中文版本 测试工具:https://github.com/promises-aplus/promi ...

  9. 开源即时通讯IM框架 MobileIMSDK v6.5 发布

    一.更新内容简介 本次更新为次要版本更新,进行了bug修复和优化升级(更新历史详见:码云 Release Notes.Github Release Notes). MobileIMSDK 可能是市面上 ...

  10. 即时通讯技术文集(第19期):IM架构设计基础知识合集 [共13篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第19 期. [-1-] 微信后台基于时间序的新一代海量数据存储架构的设计实践 [链接] htt ...