三道C语言题目。关于字符串的,谢谢了。

作者&投稿:孛巧 (若有异议请与网页底部的电邮联系)
三道C语言题目~

1、
#include
#include
int main(int argc, char *argv[])
{
char a[ 100 ];
int count = 0, i = 0;
gets( a );
while( a[ i ] )
{
if(isdigit( a[ i ++ ] ))
count ++ ;
}
printf("%d
",count);
return 0;
}

2、
#include
int main(int argc, char *argv[])
{
int i, j ;
int n;
double x ,max , min ,s = 0 ;
for(scanf("%d",&n) , i = 0 ; i < n ; i ++ )
{

scanf("%lf",&x);
if(!i)max = min = x;
else
{
if(x > max) max = x ;
if(x < min) min = x ;

}
s += x;
}
printf("%.2lf
",( s - max - min) / (n - 2));
return 0;
}

3、
#include
int main(int argc, char *argv[])
{
int i , j , m , n ;
int a[100][100];
int max , max_x , max_y;
while(scanf("%d%d",&m,&n) != EOF)
{
for(i = 0 ; i < m ; i ++ )
{
for(j = 0 ; j < n ; j ++ )
{
scanf("%d",&a[ i ][ j ]);
if(!i && !j)
{
max = a[ i ][ j ];
max_x = max_y = 0;
}
else
{
if(abs( a[ i ][ j ] ) >= abs( max ))
{
max = a[ i ][ j ];
max_x = i;
max_y = j;
}
}
}
}
printf("%d %d %d
" , max_x + 1 , max_y + 1 , max );
}
return 0;
}

(1)
#include "stdio.h"int main(int argv,char *argc[]){int n,i,k;printf("Input n(n must be a natural number less than 10000)): ");if(scanf("%d",&n)!=1 || n9999){printf("%d is out of range of valid values.
",n);return 0;}k=0; for(i=1;i<=n;i++)k=(k+3)%i;printf("Last No. is: %d
",k%n+1);return 0;}运行样例:

(2)
#include "stdio.h"char *delchar(char *s,char c){int i,j;for(j=i=0;s[j]=s[i];i++)if(s[j]!=c)j++;return s;}int main(int argv,char *argc[]){char s[300],c;printf("Input a string: ");fgets(s,300,stdin);printf("Input a char: ");c=getchar();fflush(stdin);printf("After deleted,the string is: %s
",delchar(s,c));return 0;}运行样例:


(3)
#include "stdio.h"char *strmcpy(char *s,char *t,int m){char *q=s;t+=m-1;while(*q++=*t++);return s;}int main(int argv,char *argc[]){char t[300],s[300],m;printf("Input a string: ");fgets(t,300,stdin);printf("Input an integer: ");scanf("%d",&m);printf("
Output is: %s
",strmcpy(s,t,m));return 0;}运行样例:

#include <stdio.h>
int length(char *c){
if(c==NULL)
return 0;
int i;
for(i=0;c[i];i++);
return i;
}

void first(){
printf("第一题 请输入字符串 长度小于100\n");
char c[100];
scanf("%s",c);
for(int i=0;i<length(c);i++){
for(int j=0;j<length-i-1;j++){
if(c[j]>c[j+1]){
char p=c[j];
c[j]=c[j+1];
c[j+1]=p;
}
}
}
printf("%s\n",c);
}

bool iszi(char *c1,char *c2){
for(int i=0;c2[i];i++){
if(c1[i]!=c2[i]){
return false;
}
}
return true;
}

void sen(){
printf("第二题 请输入母字符串\n");
char c1[100];
char c2[100];
scanf("%s",c1);
printf("请输入子串\n");
scanf("%s",c2);
int count=0;
for(int i=0;c1[i];i++){
if(iszi(c1+i,c2))
count++;
}
printf("一共有%d个子串\n",count);
}
void disan(){
printf("第三题 请输入字符串 长度小于100\n");
char c[100];
int count =0;
int m[50];
int state=0;
for(int i=0;c[i];i++){
if(state==0&&c[i]<='9'&&c[i]>='0'){
state=1;
m[count]=c[i]-'0';
}else if(state==1){
if(c[i]<='9'&&c[i]>='0'){
m[count]*=10;
m[count]+=c[i]-'0';
}else{
state=1;
count++;
}
}
}
printf("数字有\n");
for(int i=0;i<count;i++){
printf("%d\n",m[i]);
}

}
void main(){
first();
sen();
disan();
}

1.

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int comp(const void *a,const void *b)
{
return *(const char *)a-*(const char *)b;
}
int main(void)
{
char str[80];
scanf("%79s",str);
qsort(str,strlen(str),sizeof(char),comp);
puts(str);
return 0;
}
//---------------------------------------------------------------------------

2.
//---------------------------------------------------------------------------

#include <stdio.h>
#include <string.h>

int findout(const char *str,const char *sub)
{
int i,j,cnt=0;
if (strlen(sub)>strlen(str)) return -1;

for (i = 0; i<strlen(str)-strlen(sub); i++) {
for (j=0; j<strlen(sub); j++)
if (str[i+j]!=sub[j]) break;
if (j>=strlen(sub)) ++cnt;
}
return cnt;
}

int main(void)
{
char str[80],substr[80];
int i,cnt=0,j;
scanf("%s",str);
scanf("%s",substr);
printf("%d\n",findout(str,substr));
return 0;
}
//---------------------------------------------------------------------------

3.
//---------------------------------------------------------------------------

#include <stdio.h>
#include <math.h>
#include <ctype.h>
int main(void)
{
char a[80];
int b[80],i,j=0;
scanf("%s",a);
for (i = 0; a[i]; ) {
if (!isdigit(a[i])) {
++i;
}
else{
sscanf(&a[i],"%d",&b[j]);
i+=(int)floor(log10(b[j++]))+1;
}
}
for (i = 0; i<j; i++) {
printf("%d\n",b[i]);
}
return 0;
}
//---------------------------------------------------------------------------


C语言关于switch语句的一道题目
先执行switch(x),再执行case1:switch(0)中的case0:a++;break;这时a=1 然后跳出swithc(y);继续执行case2:a++;b++;break;执行后a=2;b=1;跳出switch(1);所以最后a=2; b=1;至于怎么计算出0和0的就不清楚了,你算出a=1;b=0可能就是没有弄清楚,switch的case语句,在没有遇到break或者...

问两道C语言关于指针方面的问题
1.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,不能正确执行的语句是(正确答案:B)A) k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1*(*p2);这道题目只要知道同类型的才能赋值这规则就行了。p1和p2同为int的指针,所以c是可以的,*p1是p1所指向的int变量,,*p是...

求助一道C语言的题目. (速度)...
C K J 7 5 S A T 6 4 2 H 4 2 D 7 6 4 C Q T 9 S 9 7 5 3 H K Q T 9 D J 3 2 C 8 2 S Q H 8 7 6 D A K T 9 5 C A 6 4 3 思考题(必须完成):完成2副牌的自动发牌,每人应当有26张牌,而且需将每家所得的牌进行排序。\/ include <stdio.h> incl...

这道C语言的题怎么做?
对于这个题目而言,主要是考查if~else函数的匹配使用情况。这个知识点就一定要记住:if总是与在它前面的、离它最近的、没有与别的if匹配的else匹配。有多层if语句的,一定要从最里层的if与else开始匹配。所以整个匹配形式如图所示:那么我们分析的时候,从最外层的if开始,if(a=b+c),其中a=b+c是...

想问一道关于C语言简单的题
char*ss(char*s)\/\/ss 是 返回指针值(char * 类型)的函数 \/\/ 函数参数s 也是指针(char * )类型 {return s+strlen(s)\/2;} \/\/strlen(s)是字符串处理库函数,返回(s所指的)字符串长(字符结束标志前字符的个数,int类型, 对于本题为8)\/\/s+4代表向后第4个字符的地址 \/\/即"abcdefgh"串...

C语言的部分题目。。在线等。。谢谢!!!_
参考(不保证完全正确):2. 关于C语言程序,正确的编程流程应该是:(A)。A) 编辑→保存→编译→运行 B) 编译→编辑→运行→保存 C) 保存→运行→编辑→编译 D) 运行→编译→保存→编辑 3. 以下选项中,正确的C语言用户自定义标识符是(B)。A) 123 B) AaBb C) a+b D) int 4. ...

几道C语言问题!!!
该题关键是判断语句"i=10&&x>0".i=10&&x>0-->i=(10&&x>0)-->i=(true && ture)-->i=true-->true 因此永远循环.4.C 第1次:i=0-->判断成立(0<3)-->i=1(i++<3,指先比较i<3,再i加1)第2次:判断成立(1<3)-->i=2 第3次:判断成立(2<3)-->i=3 第4次:判断不...

还是关于c语言的题目啊,有几道选择题,希望众亲们能给点详解啊
{int a=6,b=2,c;c=f(a)\/f(b);printf(“%d\\n”,c);} A. 9 B. 6 C. 36 D. 18 解释:看到答案以后,我把这个题目编程测试了,答案确实为9;15、以下对二维数组a进行正确初始化的是(B)A. int a[2][3]={{1,2},{3,4},{5,6}}; B. in...

关于C语言表达式值的判断
关于C语言表达式值的判断 题目是:设a,b,c都是int变量,a=3,b=4,c=5,下列表达式中,值为0的表达式是:A)'a'&&'b'B)a<=bC)a||b+c&&b-cD)!((a<b)&&!c||1)求高手解答一下,能给出详细解答的还有加分哦... 题目是:设a,b,c都是int变量,a=3,b=4,c=5,下列表达式中,值为0 的表达式是:A...

几道C语言的题目
1。c语言的变量名只能以字母或者下划线开头,以数字,下划线,字母组成,且不得与c语言关键字重合。A是关键字;B以数字开头;D含有非法字符。2.A项答案是3;B项3<=5 为真,即是1;C答案为0;D项3<5为真,3==5 为假,那么相与就为假,即是0;3.都好表达式的值就是最后一个表达式的值...

巨野县17788286871: 跪求一道基础C语言题目(关于字符串) -
展刮前列: #include <stdio.h>int countlets(char data[]){ int i=0,ans=0; char c; while(*(data+i)!='\0') { c=*(data+i); if(c>='A'&&c<='Z') ans++; if(c>='a'&&c<='z') ans++; i++; } return ans;}int main(){ char str[]="1ao45 -=,a0fu oafj"; int counts=countlets(str); printf("字母个数:%d\n",counts); return 0;}如上可以实现你说的.已经运行过了.输出效果字母个数:9

巨野县17788286871: 关于C语言的字符串的. -
展刮前列: 选择 B 不论是空字符" _",还是字母,它的长度都为1.而汉字所占的长度为2.so:1、对于字符串“He has 钱!”它的长度为10; 2、对于字符数组,在C语言里,字符数组会在末尾自动添加'\0',其长度也为1.所以,字符数组长度 == 字符串长度 + 1. 谢谢!

巨野县17788286871: C语言试题 请说明具体原因1 一下关于字符串的叙述正确的是A C语言中有字符串类型的常量和变量B 两个字符串中的字符个数相同时才能进行字符串大校的... -
展刮前列:[答案] 1.D 2.D 3.D “”是表示空串,他能对一个字符串进行初始化,使声明的字符串置为空,从而在输入时不会出现像“烫”这样的字符. 我写这个,你试试便知: #include "stdio.h" #include "string.h" void main() { char a[81]="",b[81],k; int i,j; printf...

巨野县17788286871: 请擅长C语言的大神帮我解答一道关于字符串的计算题!请把每一部计算步骤写上并解答! -
展刮前列: 1 2 3 4 5 6 7 8 9 10#include<stdio.h> main() {chars[]="123456789",*p=s;//p指向s的第一个字符 inti=0; while(*p)//循环判断字符 { if(i%2==0) *p=' *';//i%2==0 123456789(010101010)所以改变的是偶数位置的数 p++;//p本来指向第一个字符1,加1,指向第二个字符,以此类推 i++; } printf("%s\n",s); }

巨野县17788286871: C语言题目求解(字符串定位)....
展刮前列: #include <stdio.h> #include <string.h> int find( char* a, char* b ) { int i, j; i = j = 0; while( b[j] ) { if ( a[i] == b[j] ) { ++i; if ( i == strlen( a ) ) return j-i+1; } else { i = 0; } ++j; } return -1; } int main() { char a[50], b[50]; scanf( "%s%s", a, b ); printf( "%d\n", find( a, b ) ); }

巨野县17788286871: c语言 2、题目:字符串的处理 3.题目:求一个字符串的子串. -
展刮前列: 程序2:#include <stdio.h>#include <stdlib.h> int main() { char str[100], c; int i, j; printf (”Enter string:”); gets (str); for ( i=0; 【 str[i] != '\0' 】; i++ ); /* 定位到字符串串尾的'\0'*/ i--; /* 寻找到'\0'的前一个字符*/for ( j=0; j<i; 【 j++ 】,【 i-- 】 ) /* 进...

巨野县17788286871: c语言程序编程题,关于字符串和字符数组的. -
展刮前列: #include<stdio.h>#include<stdlib.h> int main() { FILE *fp; char ch,temp; char a[10]; int i=0,j=0; if((fp=fopen("filename","r"))!=NULL)printf("能打开这个数据文件!\n");elseprintf("不能打开这个数据文件"); /*将数据文件的字符串输出...

巨野县17788286871: 麻烦写下C语言程序..题目:编写程序:有3个字符串,要求找出其中的最大者. -
展刮前列: 本人只是个小菜鸟 你的这个题目如果用 C++相当的简单~~C语言的话 在下用最原始的方法做的 看看行不?#include int main() { char a[100],b[100],c[100],pp; int i; scanf("%s%s%s",a,b,c); for(i=0;i {if(a[i]>b[i]) { pp='a'; break;} else if(a[i] { pp='b'; ...

巨野县17788286871: C语言字符串题目 -
展刮前列: #include void convertword(char *c) { if(*c=='z')*c='a'; else if(*c=='Z')*c='A'; else (*c)++; } main() { char str[100],*p; gets(str); p=str; if(*p!=' '&&*p!='*')convertword(p); while(*p!='*') { if(*p==' '&&*(p+1)!=' ') convertword(p+1); p++; } printf("%s",str); getch(); return 0; }

巨野县17788286871: c语言关于字符串赋值操作的语句,要理由和答案~谢谢 -
展刮前列: B 不行 对字符串赋值必须要 用strcpy函数 A 是初始化 可以对字符串数组初始化赋值 C 是指针 指向一常量字符串 D 也是初始化一指针 指向一字符串

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