字符串统计
编写一个函数,统计字符串中小写字母的个数,并把字符串中的小写字母转化成大写字母
#include <stdio.h>
int fun_string(char * p);
int main(){
char s[100];
int sum;
scanf("%s",s);
sum = fun_string(s);
printf("%s sum=%d\n",s,sum);
return 0;
}
int fun_string(char * p){
int sum;
while (*p != '\0'){
if (*p >= 'a' && *p <= 'z'){
sum++;
*p -= 32;
} p++;
}
return sum;
}
/*
asd123FGH
ASD123FGH sum=3
*/#include <stdio.h>
void fun_string(char *p,int *sum_p);
int main(){
char s[100];
int sum = 0;
scanf("%s",s);
fun_string(s,&sum);
printf("%s sum=%d\n",s,sum);
return 0;
}
void fun_string(char *p,int *sum_p){
while (*p != '\0'){
if (*p >= 'a' && *p <= 'z'){
(*sum_p)++;
*p -= 32;
} p++;
}
}
/*
asd123FGH
ASD123FGH sum=3
*/一维数组在函数间传参
全局数组传递方式
指针传递方式
实参为数组的指针,形参为同类型的指针变量void fun (int *arr, int size);
数组名形式传参
实参为数组的指针,形参为数组名(本质是一个指针变量)
void fun (int arr[], int size);
编写函数,计算一个一维整形数组的所有元素的和
#include <stdio.h>
int fun_sum(int *data, int n);
int main() {
int a[] = {1,5,9,10,20,21};
int sum = 0;
sum = fun_sum(a,sizeof(a) / sizeof(int));
printf("%d\n",sum);
return 0;
}
int fun_sum(int *data, int n) {
int i;
int sum = 0;
for (i = 0; i < n; i++){
sum += data[i];
}
return sum;
}
//66对整型数组进行排序,编写排序函数,并调用
#include <stdio.h>
void fun_sort(int *data, int n);
void fun_print(int *data, int n);
int main() {
int a[] = {3,9,5,1,8,4};
fun_sort(a,sizeof(a) / sizeof(int));
fun_print(a,sizeof(a) / sizeof(int));
return 0;
}
void fun_sort(int *data, int n) {
int i, j;
int t;
for (i = 0; i < n-1; i++){
for (j = 0; j < n-1-i; j++){
if (data[j] > data[j+1]) {
t = data[j];
data[j] = data [j+1];
data[j+1] = t;
}
}
}
}
void fun_print(int *data, int n) {
int i;
for (i = 0; i < n; i++) {
printf("%d\n",data[i]);
}
}
/*
1
3
4
5
8
9
*/