c语言编写int fun函数 将s所指字符串除了下标为奇数,同时ascll值也为奇数的字符之外 其余所有字符都删除,剩余字符形成一个新串放在t所指的数组中
时间: 2023-09-15 11:22:25 浏览: 66
下面是一个示例代码实现:
```c
#include <stdio.h>
#include <string.h>
void fun(char *s, char *t) {
int i, j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (i % 2 == 1 || s[i] % 2 == 0) {
continue;
}
t[j] = s[i];
j++;
}
t[j] = '\0';
}
int main() {
char s[] = "this is a test string";
char t[100];
fun(s, t);
printf("original string: %s\n", s);
printf("modified string: %s\n", t);
return 0;
}
```
在上面的代码中,使用了一个循环遍历字符串s中的每个字符。如果字符的下标为奇数或者字符的 ASCII 值为偶数,则跳过此字符,否则将该字符添加到新字符串t中。最后在新字符串t的末尾添加一个空字符,使其成为一个有效的 C 字符串。
相关问题
编写c语言程序,将ascll码32转换为字符
答案:对于这个问题,我可以给出以下代码:
```c
#include <stdio.h>
int main() {
int ascii_code = 32;
char character = (char) ascii_code;
printf("The character corresponding to ASCII code 32 is: %c\n", character);
return 0;
}
```
这个程序将 ASCII 码为 32 的字符转换为对应的字符并输出。
用c语言编写函数求字符中大写字母的ASCLL码值的和
可以编写一个函数来计算字符中大写字母的ASCLL码值的和,具体实现如下:
```c
#include <stdio.h>
int sum_of_ascii_values(char str[]){
int sum = 0;
for (int i = 0; str[i] != '\0'; i++){
if (str[i] >= 'A' && str[i] <= 'Z'){
sum += str[i];
}
}
return sum;
}
int main(){
char str[] = "Hello World";
int sum = sum_of_ascii_values(str);
printf("Sum of ASCII values of uppercase letters: %d\n", sum);
return 0;
}
```
这个函数遍历字符串中的每个字符,如果字符是大写字母,则将其ASCLL码值加入到总和中。最后,函数返回大写字母的ASCLL码值总和。在上面的例子中,我们将字符串 "Hello World" 传递给函数,它将计算出大写字母的ASCLL码值总和并打印出来。