c语言上机实验答案(C语言实验题)

本文目录
- C语言实验题
- 求C语言答案!!!!坐等!!!!高悬赏!!步骤清晰!!!
- 求c语言高手解上机实验:顺序表的查找、插入与删除
- 求一份答案 C语言编程:实验四 数组
- C语言上机实验
- 求山东理工大学C语言实验答案(在线等、求速度)
- 各位C语言大佬啊帮个忙呀这是老师上课布置的上机作业求答案
C语言实验题
字符需要用’’,大写字母的ascii码比小写字母小32,应该用减号。
ps.该程序有个问题,就是当你输入多于10个字符的时候,只读取了10个字符,会有字符还留在缓冲区,如果下次再读取时会异常,建议程序结尾加个getchar();
求C语言答案!!!!坐等!!!!高悬赏!!步骤清晰!!!
#include《math.h》
#include《stdio.h》
void main(void)
{
int i;
printf("%lf",sin(30.0/180*3.14)+sqrt(12.56));
for(i=1;i《sqrt(399);i+=2)
if(i*(i+2)==399)
break;
printf("这两个数是%d,%d",i,i+2);
}
哪步看不明白的话请追问。。
求c语言高手解上机实验:顺序表的查找、插入与删除
#include《stdio.h》
#include《stdlib.h》
#define N 10 //顺序表的最大容量
int length=0; //顺序表的当前元素个数
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define LIST_INIT_SIZE 100//线性表存储的空间初始化分配量
#define LISTINCREAMENT 10 //线性表存储空间的分配增量
typedef struct LNode//线性单链表存储结构
{
int data;
struct LNode *next;
}LNode,*LinkList;
int CreatList_L(LinkList&L)//创建一个线性链表
{
L=(LinkList)malloc(sizeof(LNode));//分配一个空间给链表,作为头结点
if(!L) exit(OVERFLOW);
L-》next=NULL;
return OK;
}
int DestroyList_L(LinkList &L)//销毁链表
{
if(L) free(L);
return OK;
}
int ListInsert_L(LinkList&L,int i,int e)//再练表的第i个元素前插入一个元素e
{
LinkList p=L;//p指针定位于i-1
LNode *s;
int j=0;
while(p&&j《i-1) {p=p-》next;j++;}//定位
if(!p||j》i-1) return ERROR;//如果i《1或大于链表元素个数+1
s=(LNode*)malloc(sizeof(LNode));
if(!s) exit(OVERFLOW);
s-》data=e; //完成插入操作
s-》next=p-》next;
p-》next=s;
return OK;
}
int ListDelet_L(LinkList&L,int i,int&e)//删除链表L中的第i个元素,并返回给e;
{
LinkList p=L;
LNode* q;
int j=0;
while(!p&&j《i-1) {p=p-》next;j++;}//p指针定位于i-1;
if(!p-》next||j》i-1) return ERROR;
e=p-》next-》data; //完成删除操作
q=p-》next;
p-》next=p-》next-》next;
free(q);
return OK;
}
int ListTraverse_L(LinkList L,int n)//链表的遍历
{
int i=0;
if(!L)return ERROR;
L=L-》next;
while(L)
{
if(L-》data==n)return i;
L=L-》next;
i++;
}
return FALSE;
}
int InverseSingleList_L(LinkList &L)
{
if(!L-》next||!L-》next-》next)//如果链表少于2个Node那么链表不需要改变顺序
return OK;
LNode *p,*q;
p=L-》next; //第一次因为p是最后一个连接所以把p-》next设为空
q=p-》next;
p-》next=NULL;
p=q;
while(p)
{
q=p-》next; //用q去保留p后面一个Node;
p-》next=L-》next;
L-》next=p;
p=q;
}
return OK;
}
int main()
{
int List;
LinkList L;
int ch,exit=’N’;
do
{
system("CLS");
printf("\t\t********************************************\n");
printf("\t\t* 1.创建一个顺序表 .........(1) *\n");
printf("\t\t* 2.在顺序表中查找元表.........(2) *\n");
printf("\t\t* 3.在顺序表中插入元表.........(3) *\n");
printf("\t\t* 4.在顺序表中删除元表.........(4) *\n");
printf("\t\t* 5.退出 .........(5) *\n");
printf("\t\t********************************************\n");
printf("\n请选择操作代码:");
ch=getchar();
switch(ch)
{
case ’1’:
printf("\n请输入十个元素");
CreatList_L(L);
for(length=0;length《N;length++)
{
scanf("%d",&List);
getchar();
ListInsert_L(L,length+1,List);
}
printf("\n创建成功!");
getchar();
break;
case ’2’:
scanf("%d",&List);
if(ListTraverse_L(L,List));
else printf("不存在该元素");
getchar();
break;
case ’3’:
scanf("%d%d",&length,&List);
ListInsert_L(L,length,List);
system("pause");
break;
case ’4’:
scanf("%d",&length);
ListDelet_L(L,length,List);
system("pause");
break;
case ’5’:
printf("\n您是否真的要退出程序(Y/N):");
getchar();
exit=getchar();
break;
default:
getchar();
printf("\n无效输入,请重新选择...:");
getchar();
break;
}
}while(exit!=’y’&&exit!=’Y’);
}
求一份答案 C语言编程:实验四 数组
7. 编写程序打印出如下杨辉三角形。
解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析:
#include《stdio.h》
#define N 10
void main()
{
int s;
for(int i=0;i《N;i++)
{
S=1;
}
for(i=2;i《N;i++)
for(int j=1;j《I;j++)
s;
for(i=0;i《N;i++)
{ for(int j=0;j《=i;j++)
printf(“\t%d”,s);
printf(“\n”);
}
}
8. 分析下列程序,查错并修改。
#include 《stdio.h》
#include 《string.h》
void main()
{ char a;
int c,d,k; char ch;
scanf("%s",&a);---à scanf("%s",a);
scanf("%s",&b); --à scanf("%s",b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);
d=strlen(b);
if(c》d)
for(k=0;k《d;k++)
{ch=a=ch;}
printf("a=%s\n",a);
printf("b=%s\n",b);
}
解答:(1) 源程序代码:(2)运行结果截图:(3)运行结果分析:
9.预习下面的程序的功能,写出预习结果。并上机验证。
#include 《stdio.h》
#include 《string.h》
void main( )
{ char s1;
int i = 0, j = 0;
printf(" \n Please inputstring1:");
scanf("%s", s1);
printf(" \n Please inputstring2:");
scanf("%s", s2);
while (s1!= ’\0’ )
i++;
while (s2!= ’\0’ )
s1;
s1= ’\0’;
printf("\n New string: %s",s1);
}
解答:(1)运行结果截图:(2)运行结果分析:
S2附加到S1的最后
10. 补充以下程序,使其功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。程序如下:
#include 《stdio.h》
void main ( )
{ char str1;
int i,s;
printf("\n Input string1:\n");gets(str1);
printf(“\n Input string2:\n”);gets(str2);
i= 0 (1) ;
while((str1!= ‘\0’ (2) ))
i++;
s= str1 (3) ;
printf("%d\n",s);
}
解答:(1) 源程序代码:(2)运行结果截图:(3)运行结果分析:
11. 补充以下程序,功能是统计从终端输入字符串中每个大写字母的个数。用#号作为输入结束标志。
#include 《stdio.h》
#include 《ctype.h》
void main ( )
{ int num,i; char c;
for (i=0;i《26;i++)num=0;
while ( (c=getchar())(1) != ’#’) /* 统计从终端输入的大写字母个数*/
if (isupper(c))num++ (2) ;
for (i=0;i《26;i++) /* 输出大写字母和该字母的个数*/
if (num);
}
解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析:
12.编写程序,功能是输入若干个字符串,求出每个字符串的长度,并打印最长的字符串的内容。以“stop”作为输入的最后一个字符串。
解答:(1)源程序代码:(2)运行结果截图:(3)运行结果分析:
13.编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如:输入"BEIJING"、"123"和位置3,则输出:"BEI123JING"。解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析:
C语言上机实验
第一处:判断 == 写成了赋值 =
if ((k%13==0) || (k%17==0))
第二处:n是从0开始累加的,不是递减
n++;
求山东理工大学C语言实验答案(在线等、求速度)
实验一 简单C程序的调试
一、实验目的
熟悉在VC的运行环境下,调试C语言程序的一般步骤。掌握编写与调试简单C语言程序的基本方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,录入源程序。
3. 调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 写出本次实验的实验报告。
三、实验内容
1.从键盘输入一个以秒为单位的时间值(如10000秒),将其转化为以时、分、秒表示的时间值并输出。
#include 《stdio.h》
void main()
{int time,h,min,sec;
printf("请输入时间,以秒为单位\n");
scanf("%d",&time);
h=time/3600;
min=(time%3600)/60;
sec=(time%3600)%60;
printf(" 时间转换为:%d h %d min %d s\n",h,min,sec);
}
2.已知如下二元一次方程组的系数值,求该方程组的解。
a1x+b1y=c1
a2x+b2y=c2
#include 《stdio.h》
void main()
{float a1,b1,c1,a2,b2,c2,m,n,p;
printf(" 请输入二元一次方程组的各项参数:");
scanf("%f %f %f %f %f %f",&a1,&b1,&c1,&a2,&b2,&c2);
p=a1*b2-a2*b1;
if(p!=0)
m=(b2*c1-b1*c2)/(a1*b2-a2*b1);
n=(a1*c2-a2*c1)/(a1*b2-a2*b1);
printf("%fx+%fy=%f\n%fx+%fy=%f\n",a1,b1,c1,a2,b2,c2);
printf("解为:\n x=%f\n y=%f\n",m,n);
}
实验二 顺序结构程序设计
一、实验目的
掌握顺序程序设计的基本思想和顺序程序设计的基本方法
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,录入源程序。
3. 调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 掌握如何通过动态跟踪程序运行过程查找逻辑错误。
6. 写出本次实验的实验报告。
三、实验内容
1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年的1月1日,总共有多少天(提示:400年97闰)。
#include 《stdio.h》
void main()
{
int year,days;
printf("please enter a year:");
scanf("%d",&year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("公元1年1月1日到公元%d年1月1日有%d天。\n",year,days);
}
实验三 选择结构程序设计
一、 实验目的
掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,录入源程序。
3. 调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 掌握如何通过动态跟踪程序运行过程查找逻辑错误。
6. 写出本次实验的实验报告。
三、实验内容
1.编程序实现:输入一个年份和月份,求出这个月的天数并输出。
#include 《stdio.h》
void main()
{
int year,month,n;
printf("please enter a date like 2010/4\n");
scanf("%d/%d",&year,&month);
switch (month)
{
case 1: n=31;break;
case 2: n=28;break;
case 3: n=31;break;
case 4: n=30;break;
case 5: n=31;break;
case 6: n=30;break;
case 7: n=31;break;
case 8: n=31;break;
case 9: n=30;break;
case 10: n=31;break;
case 11: n=30;break;
case 12: n=31;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month==2)
n=29;
printf("%d年%d月有%d天。、\n",year,month,n);
}
2.编程序实现:输入一个年份y,求出y年的1月1日是星期几(提示:公元1年1月1日是星期一)。
#include 《stdio.h》
void main()
{
int m,n=0,year,i;
printf("please enter a year");
scanf("%d",&year);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("%d年1月1日是",year);
m=n%7;
switch (m)
{
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
default:break;
}
}
3.(拓展题,选做)编程序实现:输入任意一个日期的年、月、日的值,求出是星期几并输出。
#include 《stdio.h》
void main()
{
int year,month, day,n,i;
printf("please enter a date like 2010/4/16\n");
scanf("%d/%d/%d",&year,&month,&day);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4;
switch (month)
{
case 1: n+=day;break;
case 2: n+=day+31;break;
case 3: n+=day+59;break;
case 4: n+=day+90;break;
case 5: n+=day+120;break;
case 6: n+=day+151;break;
case 7: n+=day+181;break;
case 8: n+=day+212;break;
case 9: n+=day+243;break;
case 10: n+=day+274;break;
case 11: n+=day+304;break;
case 12: n+=day+344;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month》2)
n+=1;
n=n%7;
switch (n)
{
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
default:break;
}
}
实验四 循环程序综合应用
一、实验目的:
掌握循环结构程序设计的一般方法及循环结构程序的调试方法,能够综合运用顺序、选择和循环结构解决一般难度的实际应用问题。
二、实验要求:
1.仔细阅读下列实验内容,并编写出相应的C语言源程序。
2.在VC运行环境下,录入源程序。
3.调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4.掌握如何根据出错信息查找语法错误。
5.掌握如何通过动态跟踪程序运行过程查找逻辑错误。
6.写出本次实验的实验报告。
三、实验内容:
1.编程序实现如下功能:输入任意一个年份的值,按以下格式输出该年份一月份的公历日历。
要求用循环控制打印。
2011年日历
1月
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
#include 《stdio.h》
void main()
{
int year,days,i,m,k=0,j;
printf("please enter a year:");
scanf("%d",&year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%
100)/4+1;
m=days%7;
printf("%d年日历\n一月\n",year);
printf(" 日 一 二 三 四 五 六\n");
for(i=1;i《=m;i++)
{
k++;
printf(" ");}
k=m;
for(j=1;j《=31;j++)
{
k++;
printf("%3d",j);
if(k%7==0)
printf("\n");}
printf("\n");
}
2.(拓展题,选做)编程序实现如下功能:输入任意一个年份的值,输出该年份全年的公历日历。#include 《stdio.h》
void main()
{
int year,days,i,m,n,k=0,j,day,month;
printf("please enter a year:");
scanf("%d",&year);
printf("%d年日历\n",year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
for(month=1;month《=12;month++)
{
switch (month)
{
case 1: day=31;break;
case 2: day=28;break;
case 3: day=31;break;
case 4: day=30;break;
case 5: day=31;break;
case 6: day=30;break;
case 7: day=31;break;
case 8: day=31;break;
case 9: day=30;break;
case 10: day=31;break;
case 11: day=30;break;
case 12: day=31;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month==2)
n=29;
switch (month)
{
case 1: days+=0;break;
case 2: days+=31;break;
case 3: days+=59;break;
case 4: days+=90;break;
case 5: days+=120;break;
case 6: days+=151;break;
case 7: days+=181;break;
case 8: days+=212;break;
case 9: days+=243;break;
case 10: days+=274;break;
case 11: days+=304;break;
case 12: days+=334;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month》2)
days+=1;
m=days%7;
printf("%d月\n",month),
printf(" 日 一 二 三 四 五 六\n");
for(i=1;i《=m;i++){k++;
printf(" ");}
k=m;
for(j=1;j《=day;j++)
{
k++;
printf("%3d",j);
if(k%7==0)
printf("\n");}
printf("\n");
}
}
都是同学啊!
最后两题米看到答案,我的方法不大对,就不给你了。
各位C语言大佬啊帮个忙呀这是老师上课布置的上机作业求答案
#include 《stdio.h》
int check(char ch)
{
if(ch》=’a’&&ch《=’z’) return (ch-’a’+1);
else if(ch》=’A’&&ch《=’Z’) return (ch-’A’+1);
else return -1;
}
void main()
{
char ch;
scanf("%c",&ch);
printf("%d",check(ch));
}

更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50



