题目要求:
从键盘读入1个长度15以内的字符串,并输入1个5以内的正整数n(无需判断输入合法性)。
从字符串第1个字符(下标0)开始,输出所有距离n个字符位置的相应字符及其ASCII码。(针对\0以前的字符)
提醒: 字符串部分函数的使用,可程序开头包含头文件 "stdio.h" 和 "string.h" ,最后一行的统计是针对跳跃到的位置的奇数字符而求得。
输入格式:
先读入字符串,再另起一行读入整数。
输出格式:
每个字符和其Ascii码占一行。二者逗号(注意是英文状态的逗号)分隔。
最后一行的结尾也有换行。
输入样例:
abcd6633d415
2
输出样例:
a,97
c,99
6,54
3,51
d,100
1,49
代码长度限制
16 KB
C (gcc)
时间限制
400 ms
内存限制
64 MB
其他编译器
时间限制
400 ms
内存限制
64 MB
C (gcc)
1
#include <stdio.h>
#include <string.h>
int main()
{
int i,n;
char c[200];
scanf("%s",c);
scanf("%d",&n);
for(i=0;i<strlen(c);i+=n){
printf("%c,%d\n",c[i],c[i]);
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char str[15]={0};
int num=0,i;
scanf("%s",str);
scanf("%d",&num);
int str_len=strlen(str);
for(i=0;i<str_len;i++)
{
printf("%c,%d\n",str[i],str[i]);
i+=(num-1);
}
return 0;
}
```c
```
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!代码如下
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char buf[16] = { 0 };
int n, i;
int sum = 0;
int ws = 0;
gets_s(buf,16);
scanf("%d", &n);
for (i = 0; buf[i] != '\0'; i += n)
{
printf("%c,%d\n", buf[i], buf[i]);
if (buf[i] % 2 == 1) //奇数
{
sum = sum * 10 + buf[i] % 10;
ws += 1;
}
}
printf("%d,%d\n", sum,ws);
return 0;
}