A. C语言题目求大神写编程代码
#include<stdio.h>
intmain()
{
inta=25,b=12,c=25;
boolres;
res=a>b&&a!=c;
printf("res=%d ",res);
return0;
}
B. 请C语言大神编程!
这个行不?这个只有新增功能,要编辑和删除的话,用结构体链表更容易点。
加点说明,你看着自己去改吧。
#include "stdio.h"
#include "stdlib.h"
typedef struct
{int num; /*学号*/
char name[50]; /*姓名*/
int score[4];} msg; /*三科成绩及平均分放在数组score里*/
int input(msg *x,int cou); /*输入学生信息,原有的学生信息仍存在*/
void output(msg *x,int cou); /*输出所有学生信息*/
void show(msg *x,int cou); /*输出所有学生的某一科成绩*/
void highscore(msg *x,int cou); /*输出三科成绩最高分*/
void index(msg *x,int cou); /*按输入的学号输出对应的学生信息*/
int main()
{
msg stu[300]; /*结构体数组声明*/
int m,count=0; /*count为已保存的学生人数*/
LOOP:
printf("\n\n主目录:\n");
printf("\t1.输入学生信息;\n");
printf("\t2.输出学生信息;\n");
printf("\t3.显示某科成绩;\n");
printf("\t4.查找各科最高分;\n");
printf("\t5.按照学号查找某学员信息;\n");
printf("\t6.退出。\n");
printf("\t请选择功能:");
scanf("%d",&m);
printf("\n\n");
switch(m)
{case 1: count=input(stu,count); break;
case 2: output(stu,count); break;
case 3: show(stu,count); break;
case 4: highscore(stu,count); break;
case 5: index(stu,count); break;
case 6: exit(0); break;
default: printf("error!\n");}
goto LOOP;
}
int input(msg *x,int cou)
{
int i,n;
printf("请输入学生人数:");
scanf("%d",&n);
printf("\n请输入学生信息:\n");
printf("学号\t姓名\t第一科成绩\t第二科成绩\t第三科成绩\n");
for(i=cou;i<(cou+n);i++)
scanf("%d%s%d%d%d",&x[i].num,&x[i].name,&x[i].score[0],&x[i].score[1],&x[i].score[2]);
for(i=cou;i<(cou+n);i++)
x[i].score[3]=(x[i].score[0]+x[i].score[1]+x[i].score[2])/3;
cou+=n;
return cou;
}
void output(msg *x,int cou)
{
int i;
printf("学号\t姓名\t第一科成绩\t第二科成绩\t第三科成绩\t平均分\n");
for(i=0;i<cou;i++)
printf("%d\t%s\t%d\t%d\t%d\t%d\n",x[i].num,x[i].name,x[i].score[0],x[i].score[1],x[i].score[2],x[i].score[3]);
}
void show(msg *x,int cou)
{
int i,n;
printf("1.显示第一科成绩;\n");
printf("2.显示第二科成绩;\n");
printf("3.显示第三科成绩;\n");
printf("请选择功能:");
scanf("%d",&n);
switch(n)
{case 1: printf("学号\t姓名\t第一科成绩\n"); break;
case 2: printf("学号\t姓名\t第二科成绩\n"); break;
case 3: printf("学号\t姓名\t第三科成绩\n"); break;
default: printf("\nerror");}
if(n==1||n==2||n==3)
for(i=0;i<cou;i++)
printf("%d\t%s\t%d\n",x[i].num,x[i].name,x[i].score[n-1]);
}
void highscore(msg *x,int cou)
{
int i,j,max,flag[3]={0,0,0};
for(i=0;i<3;i++)
{max=0;
for(j=0;j<cou;j++)
if(x[j].score[i]>max)
{max=x[j].score[i];flag[i]=j;}}
printf("第一科最高分:%d\n",x[flag[0]].score[0]);
printf("第二科最高分:%d\n",x[flag[1]].score[1]);
printf("第三科最高分:%d\n",x[flag[2]].score[2]);
}
void index(msg *x,int cou)
{
int i,num,t=-1;
printf("请输入学号:");
scanf("%d",&num);
for(i=0;i<cou;i++)
if(x[i].num==num) t=i;
if(t!=-1)
{printf("学号为%d的学员信息:\n",x[t].num);
printf("姓名:%s\n",x[t].name);
printf("第一科:%d分\n",x[t].score[0]);
printf("第二科:%d分\n",x[t].score[1]);
printf("第三科:%d分\n",x[t].score[2]);
printf("平均分:%d分\n\n",x[t].score[3]);}
else
printf("\nerror:学号不存在!\n");
}
C. C语言编程,如下图,求大神帮忙,最好是详细的代码。在线等!!!
样例输入是每一个多项式都只有2项,如果考虑更一般的情况,就需要2个数组(或者2维数组)降幂存下所有的数据,包括系数为0的单项式;
接下来就是对4个数组的数据进行处理,也许要写很多;
如果确定每个多项式都只有2项,就可以当成特例来写了。
D. c语言大神 速求啊 完整编程
//最佳位置应该是小于m的2的最大次幂上,比如m=10时最佳位置是8,m=20时最佳位置是16
//以下程序不按顺序输出,如果要按顺序输出可以建一个100个元素的数组,需要输出的位置标识下,最终输出即可
#include<stdio.h>
intmain()
{
intm,n,i,p;
scanf("%d%d",&m,&n);
p=1;
i=m;
while(i>>1)//确定小于m的2的最大次方数
{
p=p<<1;//p=p*2;
i=i>>1;//i=i/2;
}
while(n>0&&p>0)//从最佳位置开始输出,之后次佳位置,以此类推
{
for(i=1;i*p<=m&&n>0;i+=2)
{
printf("%d ",i*p);
n--;
}
p=p>>1;
}
return0;
}
E. 求c语言大神编程序。。。
// 序列比较.c
// 仅五组比较!
#include <stdio.h>
#include <stdlib.h>
int getnum(char *ch)
{
return ((*(ch+1)-'0')*10 + *(ch+2)-'0');
}
int main(int argc, char *argv[])
{
int i,flag;
char ch[5][4];
printf ( "请输入五组编号:\n" );
for (i = 0; i < 5; i++) {
scanf ( "%s", ch[i]);
}
for(i = 0; i < 4; i++) {
flag=1;
if (ch[i][0]!=ch[i+1][0]) {
printf ( "有误 \n" );
printf ( "出错的是%s,其他都是以%c开头,其他是以%c开头,所以有错!\n",ch[i+1],ch[i][0],ch[i+1][0] );
flag=0;break;
}
}
if(flag) {
for (i = 0; i < 4; i++) {
flag=1;
if(getnum(ch[i]) > getnum(ch[i+1])) {
printf ( "有误!\n" );
printf ( "出错的是 %s \n", ch[i] );
printf ( "出错附近序列为%s%s%s\n",ch[i-1],ch[i],ch[i+1]);
flag=0;break;
}
}
if (flag) {
printf ( "正确!\n" );
printf ( "在首字母相同条件下,后一个数要比前一个数大!\n" );
}
}
return 0;
}
F. c语言编程,代码如下。
你这代码有问题
for(i=strlen(a);i>0;i++)
{
a[2*i]=a[i];
a[2*i-1]=' ';
}
1.这是一个死循环。
2.很可能缓冲区溢出,程序崩溃。
猜测你函数的意图,给你修改:
#include<stdio.h>
#include<string.h>
#define MAX_BUFFER 16//缓冲区大小
void func(char a[]);//函数声明
int main()
{
char string[MAX_BUFFER] ;
memset(string, 0, MAX_BUFFER) ;//将数组元素初始化为0
scanf("%s", string) ;
func(string) ;
return 0;
}
void func(char str[])
{
int length = strlen(str) ;
if (length % 2 == 0)
{
for (int i = length / 2 - 1; i > 0; --i)
{
str[2 * i + 1] = str[i] ;
str[2 * i ] = ' ' ;
}
str[1] = str[0] ;
str[0] = ' ' ;
}
else
{
for (int i = (length - 1) / 2; i > 0; --i)
{
str[2 * i] = str[i] ;
str[2 * i - 1] = ' ' ;
}
}
printf("%s", str) ;
}
1.注意变量,函数命名
2.数组大小建议定义成宏
G. c语言编程代码
两种方法我写在一起,可以独立拆开。
#include <stdio.h>
void finda1(char a[3][10]);
void finda2(char a[3][10]);
void show(char (*p)[10]);
int main()
{
char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容: ");
show(a);
printf(" 1、用数组指针的方法(函数finda1): ");
finda1(a);
printf("执行后: ");
show(a);
printf(" --------------------- ");
char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容: ");
show(a);
printf(" 2、用指针数组的方法(函数finda2): ");
finda2(b);
printf("执行后: ");
show(b);
return 0;
}
void finda1(char a[3][10])
{
int i,j;
char (*p)[10]=a;
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';
}
void finda2(char a[3][10])
{
int i,j;
char *p[3]={&a[0][0],&a[1][0],&a[2][0]};
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';
}
void show(char (*p)[10])
{
int i,j;
for(i=0;i<3;i++,printf(" "))
for(j=0;j<10;j++)
printf("%c ",p[i][j]);
}
H. 跪求编程大神~用c语言编个程序
下面是我做过的题目,算法思想树上已经说的很详细了,我就给代码哈。
题目描述
输入二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列。
输入
第一行输入二叉树的先序遍历序列;
第二行输入二叉树的中序遍历序列。
输出
输出该二叉树的后序遍历序列。
示例输入
ABDCEF
BDAECF
示例输出
DBEFCA
#include<iostream>
#include<cstring>
#defineMAX50+3
usingnamespacestd;
typedefcharElem_Type;
typedefstructBiTree
{
Elem_Typedata;//数据
structBiTree*Lchild;//左孩子
structBiTree*Rchild;//右孩子
}BiTree;//要查找的元素查找的地方数组的长度
intSearch_Num(Elem_Typenum,Elem_Type*array,intlen)
{
for(inti=0;i<len;i++)
if(array[i]==num)
returni;
//return-1;//没有找到
}//前序遍历中序遍历中序数组长度
BiTree*Resume_BiTree(Elem_Type*front,Elem_Type*center,intlen)
{
if(len<=0)
returnNULL;
BiTree*temp=newBiTree;
temp->data=*front;
intindex=Search_Num(*front,center,len);
temp->Lchild=Resume_BiTree(front+1,center,index);
temp->Rchild=Resume_BiTree(front+index+1,center+index+1,len-index-1);
returntemp;
}
voidPostOrderTraverse(BiTree*root)//后序遍历
{
if(root!=NULL)
{
PostOrderTraverse(root->Lchild);
PostOrderTraverse(root->Rchild);
cout<<root->data;
}
}
intmain(void)
{
Elem_Type*preorder=newElem_Type[MAX];//前序
Elem_Type*inorder=newElem_Type[MAX];//中序
cin>>preorder;cin>>inorder;
BiTree*root=Resume_BiTree(preorder,inorder,strlen(inorder));
PostOrderTraverse(root);
cout<<endl;
return0;
}
/**************************************
Problemid:
Username:
Result:Accepted
TakeMemory:444K
TakeTime:0MS
SubmitTime:2014-05-1622:52:07
**************************************/
I. C语言程序编写代码,帮忙大神编写
(1)
#include"stdio.h"
#defineN10
intmain(intargc,char*argv[]){
FILE*fp,*fout;
charch,i;
fout=fopen("f2.txt","w");
if(fout==NULL||(fp=fopen("f1.txt","w+"))==NULL){
printf("Failedtocreatethefileandexit... ");
return0;
}
printf("Pleaseenterastring... ");
for(i=0;i<N;i++){
fputc(ch=getchar(),fp);
if(ch==' ')
break;
}
rewind(fp);
for(i=0;(ch=fgetc(fp))!=EOF;i++)
if((i+ch)&1)
fputc(ch,fout);
fclose(fp);
fclose(fout);
return0;
}
J. c语言编程实例。。大神帮帮忙。。
#include<stdio.h>
intmain()
{
intn;
scanf("%d",&n);
while(n--)
printf("8");
printf(" ");
return0;
}