C语言问题,求大神解答?

作者&投稿:邹削 (若有异议请与网页底部的电邮联系)
C语言问题,求助大神解答?~

void Replace(StringType &S, StringType T, StringType V)
{
int n,m,k,i;
StringType sub;
InitStr(sub);
n = StrLength(S);
m = StrLength(T);
k = StrLength(V);
i = 1;
while(i <= n-m+1){
StrAssign(sub,SubString(S,i,m));//将串C中的子串逐个提取出来与串T进行匹配
if(StrCompare(sub,T) == 0){//匹配相等时
InitStr(sub);
Concat(sub,SubString(S,1,i-1));//将匹配相等的子串的前面的子串连接到串sub后
Concat(sub,V);//将替换串连接到串sub后
Concat(sub,SubString(S,m+i,n-(m+i)+1));//将匹配相等的子串的后面的子串连接到串sub后
StrAssign(S,sub);
i += k;
n = StrLength(S);//操作完一次之后,串S已经改变,需要注意
}
else{
++i;
}
}
}

#include int main(void){int i;printf(" 请输入一个整数:");scanf("%d",&i);if(i%2)printf(" is Odd
");elseprintf(" is Even
");return 0;}

#include int main(void){int i;printf(" 请输入孩子年龄:");scanf("%d",&i);if(i>1 && i4 && i<7)printf(" age:%d,enter higher class
",i);elseprintf(" 输入的年龄不在接收范围!
");return 0;}

#include<stdio.h>


void main()

{

char ch;

int a;

ch=getchar();

if(ch>='a'&&ch<='z')

ch='1';

if(ch>='A'&&ch<='Z')

ch='2';

if(ch==' ')

ch='3';

switch(ch)

{

case'1':

printf("小写字母
");

break;

case'2':

printf("大写字母
");

break;

case'3':

printf("空格
");

break;

default:

printf("其他");

}

}



#include "stdafx.h"
#include <stdio.h>

//定义矩阵的维度
#define ROWCNT 3 //行数量
#define COLCNT 4 //列数量

//加数1
int V1[]={15,22,-6,9};
int B1[ROWCNT*COLCNT]={1,0,0,1,0,1,0,0,1,0,0,0};
//加数2
int V2[]={1,2,3,4,5};
int B2[ROWCNT*COLCNT]={1,1,0,1,0,1,0,0,1,0,0,0};
//和
int V[ROWCNT*COLCNT]={0,0,0,0,0,0,0,0,0,0,0,0};
int B[ROWCNT*COLCNT]={0,0,0,0,0,0,0,0,0,0,0,0};

void MatrixAdd(int *aV,int *aB,int *bV,int *bB,int *sumV,int *sumB){
int i;
for(i=0;i<ROWCNT*COLCNT;i++){
if ((*aB==1)&&(*bB==0)){
*sumV=(*aV);
*sumB=1;
aV++;
sumV++;
}
else if ((*aB==0)&&(*bB==1)){
*sumV=(*bV);
*sumB=1;
bV++;
sumV++;
}
else if((*aB==1)||(*bB==1)){
*sumV=(*aV)+(*bV);
*sumB=1;
aV++;
bV++;
sumV++;
}
else{
*sumB=0;
}
aB++;
bB++;
sumB++;
}
}

void Show(int *aV,int *aB){
int i,j,k=0;
for(i=0;i<ROWCNT;i++){
for(j=0;j<COLCNT;j++){
if(*aB==0){
printf("%d ",*aB);
}
else{
printf("%d ",*aV);
aV++;
}
aB++;
}
printf("\n");
}
}

int main(int argc, char* argv[]){
int i=0;
printf("-第一个矩阵---\n");
Show(V1,B1);
printf("-第二个矩阵---------\n");
Show(V2,B2);

MatrixAdd(V1,B1,V2,B2,V,B);//求和
printf("-和---------\n");
Show(V,B);
scanf("%d",i);
return(0);
}
因为计算累加的时间与矩阵的数量是线性关系,所以复杂度为O(n)


求大神解答一个C语言的简单疑问
include<stdio.h>void main(){ int c; while((c=getchar())!='\\n')\/\/getchar()一次输入一个字符。 { switch(c-'2')\/\/‘2’的ASCII码是50,就相当于是你输入的字符减了50。 \/\/举个例子,A,也就是65,也就是15。下面做的就是default { case 0: case 1:putchar(c+4);...

大学c语言题目 求大神解答
include <stdio.h>int main(){float a[10],sum=0;for(int i=0;i<10&&scanf("%f",&a[i]);i++)sum+=a[i];printf("总成绩:%.2f 平均成绩:%.2f\\n",sum,sum\/10);}有疑问请追问哦。

C语言 字符串问题 求大神解救
include<stdio.h> void find(char a[]);int main(){ char a[99999];printf("输入一行字符串\\n");gets(a);find(a);getch();} void find(char a[]){ int i,count,j,k=0,q=0,word=0;for(i=0;a[i]!='\\0';i++){ count=0;for(j=i;a[j]>='A'&&a[j]<='Z'||a[j...

求大神解c语言
用循环处理字符数组,取出每个字符,然后加4后再存到新的数组。例如:char s1[100],s2[100];..for(i=0;i<100;i++)s2[i]=s1[i]+4;

...是max函数出了问题,却不知道错在哪里了,求大神指点
建议:有两个办法解决你的问题。一、错误并不在程序中,而是你的输入有问题。输入时在两个数字之间加一个逗号即可。程序中,scanf语句中写的是“%d,%d”,这就要求你在输入时,两个数字之间也要加一个逗号,写成“12,23”,才能正确输入a与b的值,你输入时丢了逗号,使b不能正确输入23的值,所以...

求C语言大神解救!
int a,sum; \/\/定义变量 sum=0;for(a=200;a<=400;a++) \/\/当a大于等于200,小于等于400时,重复以下循环 { if ((a%5)!=0) \/\/如果a%5不等于0 { sum=sum+a; \/\/整数的和sum=sum+ } } printf("200-400之间不能被5整除的整数的和sum=%d\\n\\n",sum); \/\/输出结果 ...

求大神解答c语言程序题
程序运行不会输出任何结果。程序语句for (i=0;i<=5;i++){...}本来是要执行6次{...}语句,每次的i值分别为0、1、2、3、4、5。但是{...}的第一个语句是if(i%3==0) break;,第一次循环时候i=0,i%3也等于0,所以循环就结束了,所以本程序不输出任何结果。

新手学C语言,简单的问题,求大神解答,谢谢啦
include<stdio.h> include <math.h> double distance(double x1,double y1,double x2,double y2);int main(void){ double x1,x2,y1,y2,d;printf("Input x1,y1:");scanf("%.2f%.2f",&x1,&y1);printf("Input x2,y2:");scanf("%.2f%.2f",&x2,&y2);d=distance(x1,y1,x2,...

求大神解一个C语言的编程题
include<stdio.h> int main(){ int x,c;double y;scanf("%d",&x);c=x\/100;if(x>=0)switch(c){ case 0:case 1:y=100;break;case 2:case 3:y=100+0.1*x;break;case 4:y=100+0.3*x;break;default:y=0.5*x;} printf("%f\\n",y);return 0;} ...

求注一道 C 语言题目 我想问 一些 细节 求大神解答
h>。函数返回变量会自行创建副本,不需要额外设置一个变量用来返回特定值。另外这里float fun(int a,int x)如果觉得float精度不够可以改成double,你讲代码中的float全改成double就可以了。没有实验数据,无法验证程序是否有逻辑错误,楼主自行验证,如有问题,可Hi我。2013 6 17 6:22 唐明Cpp ...

南乐县19850588632: C语言题目,求大神解答~!!! -
出图青鹏: 这是一个字符串检索问题://在S字符串中检索子串T(模式匹配) int Index(char *S, char *T){ int i,j,lenS,lenT; for(lenS=0;S[lenS];++lenS); for(lenT=0;T[lenT];++lenT); i=1;j=1; while(i if(S[i-1]==T[j-1]){ ++i;++j; }//匹配,一起后移 else {i=i-j+2;j=1;if(i>...

南乐县19850588632: C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因 -
出图青鹏: 已修改,看注释#include int main() { char a[20],b[20],c[50],*p1,*p2,*p3; p1=a,p2=b,p3=c; gets(a); while(*p1) { *p2 = (*p1)+3; //对字符串中的每个字符用加3的方法加密并存入数组b p1++; p2++; }*p2='\0'; //串结束符 p2=b ; //p2重新指向b的开始位置 while(*p2) { *p3 = (*p2)-3; //对b中的字符串解密存入数组c p3++; p2++; }*p3='\0'; puts(a); //puts是输出一个串 puts(b); puts(c); return 0; }

南乐县19850588632: 跪求大神解答C语言问题 -
出图青鹏: 1、int i = 0;int mul = 0;double sum = 0;for (i = 1; i < =n; i ++){mul *= i; sum += i/mul;}2int fa = 0, mo = 0, ch = 0;for (fa = 0; fa <= 20; fa ++){ for (mo = 0; mo <= 33; mo) { for (ch = 0; ch <=200 ; ch + 2) { if (100 = 5 * fa + 3 * mo + ch * 2 && 100 = fa + mo + ...

南乐县19850588632: 求高手解答c语言的题目.谢谢谢谢谢! -
出图青鹏: 3题a=2,b=14题-1805题i=10, s = 106题 没看见空...

南乐县19850588632: C语言问题 求大神级解答 -
出图青鹏: #include<math.h> #include<stdio.h> double result(double x) { return x*x-5x+4; } int main(void) { double a; scanf("%lf",&a); double y1,y2,y3; y1 = result(a); y2 = result(a+15); y3 = result(sin(a))); printf("y1=%lf,y2=%lf,y3=%lf",y1.y2,y3); return 0; }

南乐县19850588632: c语言问题,求大神解答 -
出图青鹏: g=count(v[100],x,l)这个 错了 v[100]代表这个v这个数组的第100个元素 ,看你的程序 你的意思应该是字符串v整体的意思改成 g=count(v,x,l) 就没问题了

南乐县19850588632: 求C语言大神解答要详细的答案!! -
出图青鹏: #include void chg(char *s){ int i; while(*s!='\0') { /*用大括号把下面几句弄成一个语句块*/ if(*s=='Z'...

南乐县19850588632: C语言问题求大神解答 -
出图青鹏: a%=(b=2,n%=b)+41 计算()里面的,b=2, n=n%b=5%2=1, 逗号表达式返回最后一个表达式的值(赋值表达式的值就是被赋给的值,即1),所以括号里面结果为12 计算a%=1+4,先计算等号右边的值(5),则a%=5,等价于a=a%5=12%5=2

南乐县19850588632: c语言问题,求大神解答! -
出图青鹏: #include<stdio.h>#include<math.h>#include<stdlib.h> int main() { int num,tmp,i,j; int n[5]={0};//用于存储num分解后的每位上的数字,由于num不超过5位,所以数组有5个单元就可以了 int *sq_ls_num; printf("请输入一个不多于5位的正整数: ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网